2008-12-01 20 views
11

No he mirado esto desde hace tiempo, pero si recuerdo correctamente, tanto la hormiga como el experto siguen confiando en JUnit 3 para las pruebas unitarias (a partir de maven 2.09, el archivo POM predeterminado todavía tiene JUnit 3.81).¿Sigue siendo una buena práctica ejecutar pruebas con JUnit 3.x vs JUnit 4.x?

¿Tiene sentido seguir con JUnit 3 en lugar de utilizar lo último y lo mejor? ¿Alguna buena razón por la que me podría estar perdiendo?

Respuesta

9

No veo un motivo para apegarse a las versiones 3.x. La mayoría de las herramientas han sido compatibles con 4.x desde hace un tiempo. La única razón por la que me quedaría con 3.x es en un entorno Java 1.4 (porque no hay otra manera).

Por cierto, Maven es cambiar a Java 5 en 2.1, por lo que existe la posibilidad de que se proponen junit 4.x

3

Maven no tiene una vinculación explícita a Junit 3.81. Puede cambiar a cualquier versión de junit que desee. Si está ejecutando Java 5, creo que debería cambiar al menos 4.4 Spring 2.5 no es compatible con 4.5.

+0

También, si usted ' re usando maven, probablemente deberías indicar explícitamente qué configuración de fuente/destino quieres, configurando explícitamente el compilador maven-compiler en tu POM – toolkit

+0

Sé que puedo configurar maven para usar la versión de JUnit que prefiera, pero la predeterminada para arquetipo : crear sigue siendo 3.81. Me pregunto si hay alguna buena razón. – agnul

+0

Compatibilidad con Java 4 – krosenvold

8

JUnit 4 tiene muchas ventajas sobre 3.x. Lo más importante es que ya no tiene que extender TestCase, ni sus métodos de prueba deben comenzar con "prueba". Está todo basado en anotaciones ahora. También puede agregar los marcadores Hamcrest, lo que le brinda una forma muy agradable y expresiva de escribir afirmaciones de prueba.

Si está atascado en un proyecto anterior a Java-1.5, puede que tenga que seguir con JUnit 3.x, sin embargo.

+0

¿Pero no es fácil perderse al agregar @Test? – johv

4

hormiga no responde en JUnit 3.

te recomiendo pasar a la nueva JUnit por la sencilla razón de que usted va a ver más y más herramientas y ejemplos que son solamente junit4. Seguir con JUnit3 significa vivir en un ecosistema en declive.

6

Hay algunas razones para 4.x JUnit y algunos en contra de ella.

Pros:

  • Las anotaciones son fáciles de entender y aumentar la legibilidad.
  • Ignorar las pruebas es más fácil.
  • Puede nombrar los métodos que desee.

Contras:

  • Usted necesita Java 5 (anotaciones).
  • Probablemente sea necesario migrar (?).

Uso JUnit 4, porque es más agradable, pero esa es mi opinión personal.

4

Ambos Ant y Maven pueden ejecutar pruebas JUnit 4 bien. Las únicas razones para usar JUnit 3 son sistemas heredados: O bien usted es forzado a utilizar un JDK Pre-Java 5 o tiene herramientas extensas que dependen de JUnit 3 y no es compatible con JUnit 4.

Cuestiones relacionadas