RhinoMocksを使用してメソッドの呼び出しを追跡したいと思います。私がこのコードを持っていると仮定しましょう:
public class A
{
protected IB _b;
public A(IB b)
{
_b = b;
}
public void Run( string name )
{
_b.SomeCall(new C { Name = name });
}
}
public interface IB
{
void SomeCall( C c );
}
public class C
{
public string Name { get; set; }
// more attributes here
}
そして、テストは次のようになります。
// prepare
var bMock = Rhino.Mocks.MockRepository.GenerateStrictMock<IB>();
bMock.Expect(x => x.SomeCall(new C { Name = "myname" }));
var sut = new A(bMock);
// execute
sut.Run("myname");
// assert
bMock.VerifyAllExpectations();
Rhino Mocksフレームワークが2つの異なるCクラスを検出するため、テストはExpectedViolationExceptionで失敗します。
テスト対象のサブジェクトがテスト対象のメソッドにオブジェクトパラメータを作成する場合、呼び出しを確認するにはどうすればよいですか?Rhino Mocksにパラメータを「等しい」としてチェックするように指示する機会はありますか?
トンありがとう!