Las pruebas unitarias tienen requisitos diferentes que el código de producción. Por ejemplo, las pruebas unitarias pueden no ser tan efectivas como el código de producción.¿Cuáles son las (des) ventajas de escribir pruebas unitarias en un idioma diferente al código?
Quizás a veces tenga sentido escribir las pruebas de su unidad en un lenguaje que se adapta mejor a las pruebas de unidad de escritura? El ejemplo específico que tengo en mente es escribir una aplicación en C# pero usando IronRuby o IronPython para escribir las pruebas.
mi punto de vista, el uso de IronPython y IronRuby tienen varias ventajas sobre el código C# como lenguaje de pruebas:
- que imita puede ser más simple en idiomas tipos dinámicos
- IronPython tiene anotaciones de tipo menos detallado que no son necesaria en la unidad de pruebas
- invocación Experimental de pruebas sin recompilación tecleando comandos en el intérprete
¿Cuáles son las ventajas y desventajas de utilizar dos idiomas diferentes para las pruebas y el código de producción?
+1 para pruebas como ejemplos de programación; también es una excelente manera de ver qué tan útil es tu código. Por otro lado, podría argumentar que escribir un banco de pruebas en VB.Net contra una API de C# podría poner a prueba la usabilidad de esa API para ese otro idioma. – Mathias