Chciałbym śledzić wywołanie metody z Rhino Mocks. Załóżmy, że mam ten kod: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
}
a test wygląda następująco:
// 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();
test nie powiedzie się z ExpectedViolationException ponieważ Rhino Mocks ramy wykrywa 2 odrębne klasy C.
Jak sprawdzić połączenie, jeśli badany przedmiot tworzy parametr obiektu w testowanej metodzie? Czy masz szansę powiedzieć Rhino Mocksowi, żeby sprawdzić parametr jako "Równy"?
Dziękuję za tonę!
Cześć, kompilator mówi: "Nie można przekonwertować wyrażenia lambda na typ" Rhino.Mocks.Constraints.AbstractConstraint ", ponieważ nie jest to typ delegata." wskazując "x => x.Name =" myname "" – Jordi
poprawiono przypisanie równe (=) do porównania (==). –
wciąż ten sam problem. Czegoś mi brakuje? http://imageshack.us/f/708/errorah.png/ – Jordi