2009-08-25 8 views
5

estoy usando NUnit burla y me gustaría especificar que espero una llamada pero sin decir cuáles son los argumentos serán por ejemplo:¿Hay alguna manera de especificar CUALQUIER COSA como argumento para llamar a NUnit Mocks Expect?

mock.ExpectAndReturn("Equals", true, ANY_ARGUMENT); 

Obviamente rellenando la sintaxis correcta en lugar de ANY_ARGUMENT.

¿Hay alguna manera de hacerlo?

Si no se especifican los argumentos - NUnit falla la prueba, ya que espera 0 argumentos, pero recibió 1.

+0

cualquier actualización sobre este tema? – yeyeyerman

Respuesta

2

Mirando a la versión 2.5.2 de nunit.mocks.dll en el reflector, no parece que hay una método que hace lo que estás buscando. NUnit es de código abierto, por lo que una opción es obtener el código y agregar la función.

0

Puede implementar una nueva instancia de IResolveConstraint que acepte cualquier cosa y la use como un parámetro en su prueba. NUnit trata las instancias de IResolveConstraint de forma diferente a cualquier otro objeto, utilizando Assert.That, en lugar de Assert.AreEqual para verificar su corrección.

Por ejemplo.

myMock.ExpectAndReturn ("mockedMethod", argumento1 nueva AcceptsAnythingConstraint())

1

Ha intentado:

mock.SetReturnValue(true); 
mock.Expect("Equals"); 
2

Sí, hay una tal función en NUnit Mocks.

En lugar del ExpectAndReturn, use SetReturnValue. Primera función, como le dicen los nombres, especifica el objeto de entrada y el objeto de retorno. La última función solo especifica un objeto de retorno para la función específica.

Uso: interfaceMock.SetReturnValue("SomeRetrunFunction", someReturnFunction);

Cuestiones relacionadas