有人开枪射击我,因为我看不到我错过的东西,但是我的存根对象的内部属性为空,这打破了我的测试。
非常感谢, 詹姆斯
CommandService
public void Create()
{
var risk = _queryService.GetRisk(creatable.HeaderId);
if(risk.HeaderId != null) // HeaderId IS NULL??
{
...
}
}
QueryService的
public Risk GetRisk(int headerId)
{
return _repository.GetRisk(headerId);
}
单元测试
[TestInitialize]
public void SetUp()
{
_mockRepository = new MockRepository();
_queryService = _mockRepository.Stub<IQueryService>();
_commandService = new CoreCommandService(_queryService);
}
public void MyTest()
{
var runRisk = new RunRisk { HeaderId = 10 };
_queryService.Stub(x => x.GetRisk(199)).Repeat.Any().Return(runRisk);
var result = _commandService.Create();
}
答案 0 :(得分:0)
需要使用以下内容来修复它。
MockRepository.GenerateMock<IQueryService>();