Estoy usando la inyección de dependencia para proporcionar simulaciones de código fuera de mi clase bajo prueba. Me encuentro escribiendo mucho del mismo código una y otra vez, ya que necesito burlar AuthProvider, ConfigurationManager, etc. que se usan en el método que quiero probar. El método contiene ramas (if-then-else) y, por lo tanto, tengo varias pruebas para probar todas las rutas de ejecución del método. Estoy instanciando cada uno de los simulacros varias veces (una vez en cada método de prueba), pero me pregunto si esta es la forma incorrecta. También estoy poniendo expectativas para los simulacros y las respuestas preestablecidas que evidentemente son principalmente de copiar y pegar, ya que las llamadas a AuthProvider.Authenticate() se invocan en todos los métodosCómo evitar el código duplicado al usar mocks en unittest
En cada método configuro un repositorio simulado y al fin de cada método, verifico el repositorio simulado. ¿Debo tener algún tipo de fábrica para crear estos simulacros junto con establecer sus expectativas y valores de retorno y, en caso afirmativo, cómo?
Para la implementación de simulaciones estoy utilizando RhinoMocks.
"Los marcos de grabación y reproducción como EasyMock fallan si no establece una expectativa sobre una llamada simulada". => Esto es incorrecto. Todas las herramientas de burla, incluida EasyMock, permiten al desarrollador tener expectativas "no estrictas". En EasyMock, haces eso creando un simulacro "agradable" con el método "createNiceMock()". –