戻り値の型がインターフェイスであるときに、明示的に戻り値を指定しないでん場合、なぜRhinoのモック(V3.6)は、プロキシタイプを生成しない(私はあなたが常にリターンを指定する必要があります知っているが、thatsの異なります問題)?Rhino Mockのデフォルトの戻り値の型は?
多くのWeb記事、さらには投稿記事RhinoMock : Mocks Vs StrictMocks Vs DynamicMocksでも、結果としてデフォルトの型が返されるとしたら、私はdefault(T)
と仮定します。私はこの行動を見ていない(下記参照)。行動を指定するものはどれもRhino Mocks Documentationで見つからない。
また、戻り値の型として整数型とクラスを使ってテストしましたが、これらの両方のテストで例外がスローされます"返す値またはスローする例外が必要です"私の行動コードでメソッドを呼び出す。これは私が気にしていない、明白な何が間違っている、そしてRhino does not 'は創造的になる、それは不変のimoです。
// Arrange
IFoo strictMockInstance = MockRepository.GenerateStrictMock<IFoo>();
IFoo dynamicMockInstance = MockRepository.GenerateMock<IFoo>();
strictMockInstance.Expect(call => call.Bar());
strictMockInstance.Replay();
dynamicMockInstance.Expect(call => call.Bar());
dynamicMockInstance.Replay();
// Act
IResult smResult = strictMockInstance.Bar();
IResult dmResult = dynamicMockInstance.Bar();
// Assert
Assert.IsNull(smResult); // none of these results are null, both are proxy instances
Assert.IsNull(dmResult);
// ....
public interface IFoo
{
IResult Bar();
}
public interface IResult { }
Offtopic、 '期待()/コール()'、あなたがソースコードのコメントに言及したAAAのsyntaxtではありません( 'AssertWasCalledを使用)を防止するためにその場で1を作成します。 'メソッド – sll