Estoy usando la versión beta de Microsoft Fakes en Visual Studio 11. ¿Cómo puedo verificar que mi sistema haya llamado a un método de dependencia bajo prueba?¿Cómo puedo verificar que se llamó un stub/shim de Microsoft Fakes (beta) (como AssertWasCalled en Rhino Mocks)?
Respuesta
Como la funcionalidad de verificación no está incluida en Microsoft Fakes Beta, el siguiente código es una prueba básica de si se llamó o no un método en una dependencia. Puede mejorar la prueba true
para probar valores de parámetros u otras condiciones de una llamada adecuada.
prueba:
[TestMethod]
public void TestMethod1()
{
var secondDoItCalled = false;
var secondStub = new Fakes.ShimSecond();
secondStub.DoIt =() => { secondDoItCalled = true; };
var first = new First(secondStub);
first.DoIt();
Assert.IsTrue(secondDoItCalled);
}
Clases:
public class First
{
readonly Second _second;
public First(Second second) { _second = second; }
public void DoIt() {
//_second.DoIt();
}
}
public class Second {public void DoIt(){}}
de comentario la línea anterior para ver el paso de la prueba.
Otra opción que tiene para realizar la verificación de comportamiento con el marco de Microsoft Fakes es utilizar la clase StubObserver incluida en el espacio de nombres Microsoft.QualityTools.Testing.Fakes.Stubs. Usando el marco, generas un stub para tu dependencia. Luego, en su Stub, puede establecer la propiedad InstanceObserver en un nuevo StubObserver. Con la clase StubObserver, puede "consultar" las llamadas a métodos realizadas a su dependencia. Su método de prueba sería algo como continuación
//Arrange
var dependency = new StubIDependency { InstanceObserver = new StubObserver() };
var sut = new SystemClass(dependency);
// Act
sut.DoSomething();
// Assert
var observer = (StubObserver)dependency.InstanceObserver;
Assert.IsTrue(
observer.GetCalls().Any(call => call.StubbedMethod.Name == "DoSomething"));
Tener un vistazo a este post: http://www.peterprovost.org/blog/2012/11/29/visual-studio-2012-fakes-part-3/
Saludos
- 1. AssertWasCalled in rhino mocks
- 2. Rhino Mocks: Cómo verificar que un método se llamó exactamente una vez usando vb.net y la sintaxis AAA
- 3. Rhino Mocks - ¿Cómo afirmar un método burlado se llamó n-times?
- 4. Rhino Mocks - AssertWasCalled: Cómo mejorar el mensaje de diagnóstico no claro cuando los argumentos incorrectos
- 5. Rhino Mocks: "Verificar" frente a "Assert"
- 6. Rhino Mocks & Compact Framework
- 7. Rhino Mocks, VerifyAllExpectations
- 8. Rhino Mocks - Usar Arg.Matches
- 9. Rhino Mocks: Mocking HttpRequestBase.Files
- 10. Rhino Mocks Parcial Mock
- 11. Cómo establecer la llamada Esperar para verificar que no se llame a un método en Rhino Mocks
- 12. se burla de Rhino - Trozo .Expect vs .AssertWasCalled
- 13. Microsoft Fakes y .Net 4.0
- 14. Rhino Mocks AAA ¿Arranque rápido?
- 15. Rhino Mocks: establezca una propiedad si se llama un método
- 16. Rhino se burla de AssertWasCalled (varias veces) en getter de propiedad usando AAA
- 17. coincidencia de argumento parcial en rhino mocks
- 18. Rhino Mocks - ¿Realmente necesitamos talones?
- 19. ¿Se pueden usar Microsoft Fakes en Visual Studio 2010?
- 20. Rhino Commons y Rhino Mocks Documentos de referencia?
- 21. ¿Cómo puedo usar Rhino Mocks para inspeccionar qué valores se pasaron a un método?
- 22. Obtención de DRY con Rhino Mocks
- 23. Recaudación de eventos de un simulador/apéndice utilizando Rhino Mocks
- 24. ¿Cómo se hace referencia a un stub que tiene un parámetro genérico de sí mismo que utiliza Microsoft Fakes?
- 25. rhino-mocks - buenas aplicaciones de muestra
- 26. Rhino Mocks Tutoriales paso a paso
- 27. Rhino Mocks: Stub & Mocks. Cuál es la diferencia
- 28. Obstaculizar una propiedad obtener usando Rhino Mocks
- 29. Rhino se burla de decirme que Arg <T> dentro de AssertWasCalled necesita más argumentos?
- 30. Simula un objeto con un constructor - Rhino Mocks
¿Es aplicable alguna manera con el caso de cuñas por 'AllInstances'? – SerG