.net unit-testing mocking c#-2.0

¿Cuáles son los marcos de burla de.NET 3.0 predominantes?



unit-testing mocking (3)

NUnit tiene burlas disponibles, por lo que si ya estás probando eso, entonces ya deberías ir. Solo incluye NUnit.Mocks.

Sin embargo, no cumple con su deseo de interfaz fluida.

Para comenzar, amo a Moq. Desearía poder usarlo en .NET 3.0. Tristemente, sin embargo, no puedo, pero aún me gustaría usar simulaciones para pruebas de unidades. Además, he usado Rhino antes, pero lo odio. Sin embargo, para ser un poco más descriptivo, es porque la interfaz se siente torpe e ininteligible, lo que puede resolverse, y la documentación es horrible o inexistente, y no puede.

La esencia de mi pregunta es si hay otros marcos de interfaz fluidamente documentados, intuitivos y fluidos para C # 2.0 / .NET3.0, o si estoy pegado a mi cabeza contra Rhino en ausencia de Moq.


Personalmente distingo tres tipos de marcos burlones (en orden de aparición):

  1. Arrange-Act-Assert (AAA) utilizando nombres de métodos de cadenas ala NMock2 / NUnit Mocks. Bastante fácil de poner en marcha, pero no está fuertemente tipado. Si se cambia el nombre del método / propiedad, la prueba fallará en el tiempo de ejecución.

  2. Grabar y reproducir ala Rhino Mocks. Estoy totalmente de acuerdo contigo, la sintaxis apesta y odio usarla. Está totalmente tipado, por lo que cuando refactoriza un método, la prueba permanece actualizada.

  3. AAA usando lambdas y expresiones. Estos incluyen MOQ, las últimas versiones AAA de Rhino Mocks y Typemock Isolator. Con mucho, la mejor sintaxis, pero requiere .NET 3.5.

Si .NET 3.5 no está disponible, me temo que debes elegir el menos malo: la sintaxis horrible de Rhino Mocks o el enlace tardío a los nombres de método / propiedad.

PD. Microsoft tiene su propio marco de aislamiento llamado Moles. No lo he comprobado yo mismo, pero se supone que es bastante poderoso (es decir, métodos estáticos burlones, métodos no públicos, etc.). Compruébalo aquí .