¿Es posible sincronizar los casos de prueba JUnit con las clases bajo pruebas dentro de Eclipse?
-
19-09-2019 - |
Pregunta
Sé que es posible crear un TestCase o TestSuite con el asistente dentro de JUnit, pero ¿cómo se puede sincronización del código después de la clase bajo la prueba ha sido modificada, tal como la modificación de métodos de firma o métodos recién añadidos. Me gustaría que mis casos que sienta jurisprudencia para poder sincronizar (quitar o añadir) los cambios en los métodos / parámetros / firmas de método dentro de mis casos que sienta jurisprudencia.
He intentado buscar en Google en vano, tal vez hay un plugin de Eclipse para eso?
Solución
Pruebas que tienen una relación de 1-1 con la estructura del código de producción son un olor prueba. Es mucho mejor para las pruebas para ser escritos como una especificación del comportamiento del sistema (~ una prueba por conducta), en lugar de tener pruebas genera en función del código de producción (~ una prueba por el método).
http://blog.daveastels.com/files/BDD_Intro.pdf
Cuando se da cuenta que se trata de especificar el comportamiento y no escribir pruebas, su punto de Ver turnos. De repente, la idea de tener una clase de prueba para cada una de sus clases de producción es ridículamente limitante. Y la idea de poner a prueba cada uno de sus métodos con su propio método de prueba (en una 1-1 relación) será de risa.
Otros consejos
Como se ha mencionado antes, refactorizaciones como cambia el nombre o se mueve se reflejará automáticamente en los casos de prueba, siempre y cuando refactoriza usando las herramientas de Eclipse y no por el cambio de nombre de forma manual, por ejemplo.
En cuanto a nuevos métodos, es imposible generar pruebas de forma automática. Por supuesto, hay algunas excepciones para código generado automáticamente donde controlas la generación y donde se puede generar casos de prueba también, pero para el código manual "normal" lo mejor que podría hacer era proporcionar talones (métodos vacíos), y lo que es el uso en eso?
Un mejor enfoque es realizar un seguimiento cobertura de código usando una herramienta como Cobertura o Emma , que pasa a tener un agradable Eclipse Plugin que le permite ver, dentro de su código fuente, lo que el código está siendo cubierto por las pruebas y la que no lo es. Este es, pues, su informe de dónde se necesita más pruebas.
Si cambia firmas de los métodos que utilizan la refactorización automatizado, a continuación, los casos de prueba - y el resto de código que llama al método -. Se actualizará automáticamente
Para los métodos recién añadidos, que no sé de una manera de tener la clase de prueba actualiza automáticamente.