私はRhino Mockを使用したメソッド呼び出しを追跡したいと思います。Rhino Mock、VerifyAllExpectations
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
}
などの試験が見えます:Rhinoのモックフレームワークは、2つの異なるCクラスを検出するので、テストがExpectedViolationExceptionで失敗
// 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にパラメータを "Equals"としてチェックさせる機会はありますか?
ありがとうございます!
こんにちは、コンパイラは言う: "それはデリゲート型ではないので、 'Rhino.Mocks.Constraints.AbstractConstraint'型にラムダ式を変換することはできません。 "x => x.Name =" myname "" – Jordi
は、割り当て(=)を比較(==)に固定しました。 –
まだ同じ問題。私は何かを欠いている? http://imageshack.us/f/708/errorah.png/ – Jordi