Tôi muốn theo dõi một cuộc gọi đến một phương thức với Rhino Mocks. Giả sử tôi có mã này:Rhino Mocks, 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
}
Và thử nghiệm trông giống như:
// 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();
Xét nghiệm này không thành công với một ExpectedViolationException vì khuôn khổ Rhino Mocks phát hiện 2 lớp C khác nhau.
Làm cách nào để kiểm tra cuộc gọi nếu đối tượng trong thử nghiệm tạo tham số đối tượng vào phương pháp đang thử nghiệm? Bất kỳ cơ hội nào để nói với Rhino Mocks để kiểm tra tham số là "Bằng"?
Cảm ơn rất nhiều!
Xin chào, trình biên dịch nói: "Không thể chuyển đổi biểu thức lambda thành loại 'Rhino.Mocks.Constraints.AbstractConstraint' bởi vì nó không phải là một loại đại biểu." trỏ "x => x.Name =" myname "" – Jordi
cố định phép gán bằng (=) để so sánh (==). –
vẫn là vấn đề tương tự. Tôi đang thiếu cái gì đó? http://imageshack.us/f/708/errorah.png/ – Jordi