Estamos utilizando Rhino Mocks para realizar algunas pruebas unitarias y necesitamos simular dos interfaces. Solo se implementa una interfaz en el objeto y la otra se implementa dinámicamente utilizando un enfoque orientado a aspectos. ¿Existe una manera fácil de combinar las dos interfaces dinámicamente para que se pueda crear un simulacro y los métodos stubbed para ambas interfaces?¿Cómo combino dos interfaces al crear simulaciones?
Respuesta
Un simulacro con múltiples interfaces utilizando Rhino Mocks se puede generar de este modo:
var mocker = new MockRepository();
var mock = mocker.CreateMultiMock<IPrimaryInterface>(typeof(IFoo), typeof(IBar));
mocker.ReplayAll();
No es dinámica, pero ciertamente fácil: crear una interfaz dentro de su ensamblaje prueba que no hace nada que no sea la aplicación de las otras dos interfaces:
internal interface ICombined : IFirstInterface, ISecondInterface {}
Entonces burlarse ICombined
.
Usando Rhino Mocks
var mock = MockRepository.GenerateMock<IFirst, ISecond>();
mock.Stub(m => m.FirstProperty).PropertyBehavior();
((ISecond)mock).Stub(k=> k.SecondProperty).PropertyBehavior();
encontrado y utilizado la información de http://www.richard-banks.org/2010/08/mocking-comparison-part-11-multiple.html
si otro tropieza con t el suyo, tenga en cuenta que es Generate ** Mock ** y no 'GenerateStub'. La versión del código auxiliar no tiene múltiples argumentos de tipo. – Default
- 1. ¿Cómo combino dos marcos de datos basados en dos columnas?
- 2. ¿Cómo combino dos listas en un diccionario en Python?
- 3. ¿Cómo combino dos consultas (unión de todo) en una fila?
- 4. ¿Cómo combino dos vectores de diferente longitud en I
- 5. Akka para simulaciones
- 6. ¿Cómo combino dos consultas de Lucene con OR?
- 7. ¿Cómo combino los resultados de dos consultas con el pedido?
- 8. ¿Cómo combino dos características de los complementos de vim wiki?
- 9. ¿Cómo combino dos listas en una sola lista?
- 10. ¿Cómo combino/fusiono columnas de dos resultados de consulta SQL?
- 11. ¿Cómo combino estas expresiones xpath?
- 12. ¿Puede una clase implementar dos interfaces al mismo tiempo?
- 13. ¿Cómo combino varios archivos PDB?
- 14. ¿Cómo combino 2 declaraciones seleccionadas en una?
- 15. ¿Por qué crear clases e interfaces abstractas?
- 16. ¿Por qué debería crear interfaces en PHP?
- 17. ¿Cómo combino dos filas de MySQL en una y las visualizo en una tabla usando PHP?
- 18. Clase Scala para implementar dos interfaces Java, ¿cómo?
- 19. ¿Puedo crear interfaces tipo Java en Perl?
- 20. ¿Cómo se aplica la programación funcional a las simulaciones?
- 21. ¿Cómo combino valores hash en C++ 0x?
- 22. ¿Cómo combino las dos variantes de un conflicto en emacs 'emerge?
- 23. En C#, ¿cómo combino más de dos partes de una ruta de archivo a la vez?
- 24. ¿Cómo combino los conjuntos de resultados de dos llamadas a procedimientos almacenados?
- 25. Unidad Registro dos interfaces como un producto único
- 26. ¿Simulaciones simples para Física en Python?
- 27. ¿Es correcto Hadoop para ejecutar mis simulaciones?
- 28. Cómo crear dos interfaces para una clase de Java, una de solo lectura, una de lectura y escritura?
- 29. ¿Cómo combino estas consultas SQL SELECT en una instrucción SELECT
- 30. Cómo combino 2 variables de JavaScript en una cadena
nota que 'ReplayAll' es un [estilo obsoleto de Rhino Mocks] (http://stackoverflow.com/questions/6078061/what-is-replayall-and-verifyall-in-rhinomocks) – Default