Cómo crear pruebas unitarias fácilmente en eclipse [cerrado]

94

Quiero crear pruebas unitarias fácilmente con solo seleccionar el método. ¿Hay alguna herramienta en eclipse que haga eso? Debería admitir plantillas. Debería poder crear pruebas positivas y negativas.

Chotka
fuente
1
Creo que este complemento de eclipse es lo que quieres: MoreUnit
Guillaume Husta
Hola a todos, ¿algo más moderno?
GC_

Respuestas:

26

Puede usar mi complemento para crear pruebas fácilmente:

  1. resaltar el método
  2. presione Ctrl+ Alt+ Shift+U
  3. creará la prueba unitaria para él.

El complemento está disponible aquí . Espero que esto ayude.

fastcodejava
fuente
1
¡Parece un gran complemento! Solo tengo curiosidad por saber si sabe algo similar para C / C ++ en Eclipse.
MikeyE
2
este complemento simplemente no funciona para mí, diciendo: "Esto en realidad es una prueba de JUnit" en mi clase :) Quería algo simple y funcional.
kiedysktos
Hola @fastcodejava, ¿puede ayudarnos? Estamos recibiendo los siguientes errores: al usar el sitio de actualización: No se puede leer el repositorio en sourceforge.net/projects/fast-code/files/update/content.xml . mientras usa jar: no hay perfil de prueba disponible, vaya a la preferencia junit para configurar el perfil
Haseeb Anser
¿Algo es un eclipse estándar?
GC_
178

Para crear una plantilla de caso de prueba:

"Nuevo" -> "Caso de prueba JUnit" -> Seleccione "Clase en prueba" -> Seleccione " Métodos disponibles ". Creo que el mago es bastante fácil para ti.

卢 声 远 Shengyuan Lu
fuente
4
Creo que OP quería seleccionar el método y crear la prueba unitaria. He escrito un complemento para eso.
fastcodejava
1
Esto era exactamente lo que estaba buscando, la función Netbeans hace exactamente lo mismo, y cuando se usa maven es bueno que cree el caso de prueba en la carpeta correcta
Theresa Forster
4
@TheresaForster ¿Cuál te gusta? ¿Esta respuesta o la de fastcodejava?
javaguy
2
Tenga en cuenta que los "métodos disponibles" están en la siguiente página del asistente (en Eclipse 4 al menos)
bcoughlan
2
Las teclas de método abreviado para esto son ALT + MAYÚS + N -> seleccione JUnit Test Case (o presione J 3 veces)
Matt R
7

Consulte esta discusión [¿Cómo generar junits automáticamente?]

Si está comenzando de nuevo y es una aplicación Java, ¡ Spring ROO también se ve muy interesante!

Espero que ayude.

Nilesh
fuente
-3

Cualquier prueba unitaria que pudiera crear con solo presionar un botón no valdría nada. ¿Cómo es la herramienta para saber qué parámetros pasar a su método y qué esperar? A menos que esté malinterpretando sus expectativas.

Cerca de eso hay algo como FitNesse , donde puede configurar pruebas, luego, por separado, configura una página wiki con sus datos de prueba, y ejecuta las pruebas con esos datos, publicando los resultados como rojo / verde.

Si le gustaría hacer que la escritura de prueba sea mucho más rápida, sugeriría Mockito , un marco de simulación que le permite burlarse muy fácilmente de las clases alrededor de la que está probando, por lo que hay menos configuración / desmontaje, y sabe que realmente está probar esa clase en lugar de una dependiente de ella.

dj_segfault
fuente
29
Ninguna herramienta puede escribir la prueba unitaria que tiene la intención de crear, pero el OP quería encontrar la herramienta que resaltará el método y la prueba auxiliar creada. A continuación, debe completar el cuerpo del método de prueba. la herramienta predeterminada que viene con eclipse hace un buen trabajo, pero no se puede resaltar un método y crear la prueba. Además, en la prueba ya está allí, la herramienta predeterminada no funcionará.
fastcodejava
6
Primero, incluso las pruebas generadas automáticamente pueden ser útiles. A veces, simplemente se olvida de comprobar algo obvio, por ejemplo, comprobación de puntero nulo. En segundo lugar, creo que la pregunta se refiere a cómo pregenerar pruebas, que usted mismo implementará. Algo como si necesita verificar, si su método arroja una excepción en consecuencia, la herramienta puede generar un método de prueba vacío con la anotación @Test (esperado = ...) automáticamente.
Radio