0

何が欠けているのかわからないので、誰かが私を撃ちますが、スタブ化されたオブジェクトの内部プロパティは null であり、テストに違反しています。

どうもありがとう、ジェームズ

CommandService

public void Create()
{
    var risk = _queryService.GetRisk(creatable.HeaderId);

    if(risk.HeaderId != null)  // HeaderId IS NULL??
    {
      ...
    }
}  

クエリサービス

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();
}
4

1 に答える 1

0

それを修正するには、以下を使用する必要があります。

MockRepository.GenerateMock<IQueryService>(); 
于 2013-08-14T10:33:19.487 に答える