Me gustaría rastrear una llamada a un método con Rhino Mocks. Vamos a suponer que tengo este código: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
}
Y la prueba se ve así:
// 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();
la prueba falla con un ExpectedViolationExceptionporque marco burla de Rhino detecta 2 clases C distintas.
¿Cómo verifico la llamada si el sujeto bajo prueba crea el parámetro del objeto en el método bajo prueba? ¿Alguna posibilidad de decirle a Rhino Mocks que verifique el parámetro como "Igual"?
Gracias a ton!
Hola, el compilador dice: "No se puede convertir la expresión lambda para escribir 'Rhino.Mocks.Constraints.AbstractConstraint' porque no es un tipo de delegado". señalando "x => x.Name =" myname "" – Jordi
se arregló la asignación igual a (=) a la comparación (==). –
sigue el mismo problema. Me falta algo? http://imageshack.us/f/708/errorah.png/ – Jordi