2010-02-03 12 views
16

Estoy usando Netbeans 6.8 y la mejor manera de ejecutar mis pruebas JUnit desde el IDE parece ser hacer clic derecho en una clase bajo Test Packages y hacer clic Test FileProbando un método en lugar de probar un archivo completo en Netbeans w/JUnit

En Eclipse, es posible limitar el alcance a la prueba de un método individual en un arnés de prueba determinado. ¿Cómo pruebo solo una prueba individual de un arnés en Netbeans?

+0

En IntelliJ es posible hacer clic derecho en el nombre del método de ensayo y seleccione Ejecutar, tal vez hay una forma similar de ejecutarlo en Netbeans? – crunchdog

+0

Es posible ver los métodos y hacer clic con el botón derecho en la vista del Navegador de Netbeans, pero, por lo que puedo decir hasta ahora, no hay ningún elemento del menú contextual para probar ese método. Sin embargo, gracias, todavía estoy cavando :) – Maciek

+0

NetBeans ahora tiene una característica así; ver mi respuesta a continuación. –

Respuesta

10

ACTUALIZACIÓN: NetBeans admite esto (por ejemplo, vea NetBeans 6.8). Simplemente haga clic con el botón derecho en la prueba aprobada o fallida y luego haga clic en 'Ejecutar de nuevo' o 'Depurar'. O haga clic con el botón derecho en el editor y haga clic en Ejecutar/Depurar prueba enfocada.

Antiguo:

Que yo sepa, esto no es posible. Y tal vez los NetBeans-chicos tenían en mente que siempre todas las pruebas deberían pasar por una unidad. Sé que las herramientas no deberían limitar a los desarrolladores, pero si un método lleva demasiado tiempo, ¿tal vez debería considerar una prueba de integración por separado?

También eche un vistazo a this post. (Por cierto: en proyectos maven ejecutando pruebas de una unidad es posible ...)

+0

Gracias por regresar y actualizar esto :) – Maciek

+0

no hay problema. como usuario de Netbeans, esto también me molestaba. ¿Esto está funcionando para ti? parece estar solo disponible para proyectos maven !? – Karussell

+0

Ahora funciona incluso sin Maven. Ver mi respuesta –

12

En NetBeans 7.1, abra el archivo de prueba de unidad, haga clic con el botón derecho dentro de la prueba de unidad específica y seleccione "Ejecutar prueba enfocada".

+1

Esto sigue siendo cierto en NB 8. –

1

Netbeans 7.1 "Ejecutar prueba enfocada" no funciona con mi compilación, por lo que estoy usando el uso de un grupo de prueba para marcar las pruebas que quiero ejecutar.

@Test(groups={"DEBUG"}) 

Puede configurar NetBeans para ejecutar estas pruebas mediante la adición de -Dgroups=DEBUG a su acción "depuración del archivo de prueba" en las propiedades del proyecto.

Nota: estos son métodos TestNG ejecutados con maven/surefire.

+0

¿Alguna vez obtuvo este Roger de trabajo? De repente, mi proyecto no ejecutará pruebas enfocadas, no estoy seguro de por qué, tenemos algunos desarrolladores en el proyecto (incluida la escritura de pruebas JUnit). Pero la prueba que he hecho no se ejecutará. Estoy usando Netbeans 7.1.2 – Andez

+0

Sí, estoy usando @Test (groups = {DEBUG}) para ejecutar pruebas individuales. Configuro NetBeans para usar -Dgroups = DEBUG y cuando ejecuto "Debug Test File". Funciona bien y también agrego otras propiedades del sistema para la depuración (por ejemplo, browser = chrome). Tenga en cuenta que el atributo de grupos es para TestNG. JUnit tiene sus propias anotaciones de agrupación. Pero yeah, mi Netbeans no ejecuta pruebas enfocadas listas para usar, pensé que era porque uso clases internas para mis casos de prueba (http://www.ninthavenue.com.au/how-to-use-inner- Clases para su unidad de pruebas). –

0

En respuesta a Roger Keays eran "Ejecutar Enfocado prueba" no está funcionando:

La opción "Ejecutar prueba Focused" fue atenuada en mi proyecto también, porque no había ninguna acción llamada "run.single. método "en project.xml.

Solución para conseguir que funcione:

1) crear una nueva acción "run.single.method" en el archivo project.xml (se puede copiar "run.single" acción).

fragmento project.xml:

<action name="run.single.method"> 
<script>nbproject/ide-file-targets.xml</script> 
<target>run.single.method</target> 
<context> 
    <property>run.class</property> 
    <folder>test/src</folder> 
    <pattern>\.java$</pattern> 
    <format>java-name</format> 
    <arity> 
    <one-file-only/> 
    </arity> 
    </context> 
</action> 

2) crear nuevo objetivo "run.single.method" ide-archivo-targets.xml (se puede copiar "run-seleccionado-archivo-in- src ") y asegúrese de que la etiqueta de prueba tenga un parámetro " methods "usando la propiedad" $ {method} ".

fragmento ide-archivo-targets.xml:

<target name="run.single.method" depends="compile"> 
<fail unless="run.class">Must set property 'run.class'</fail> 
<junit maxmemory="256m" fork="true" haltonerror="true" haltonfailure="true" printsummary="on" jvm="${jdk.dir}/bin/java" showoutput="true"> 
    <sysproperty key="build.basedir" value="${basedir}"/> 
    <!-- method attribute makes the selected method to be unit tested only --> 
    <test name="${run.class}" methods="${method}"/> 
    <formatter type="plain" usefile="false"/> 
    <classpath refid="CLASSPATH"/> 
</junit> 
</target> 

Ahora puede utilizar el menú derecho del ratón en "Ejecutar la prueba se centró".

La opción "Ejecutar prueba se centró" también podría ser temporal sea en gris cuando el proyecto está escaneando

+0

Práctico para saber, gracias. –

0

En caso que alguien se está preguntando pruebas de enfoque también es posible a través de IntelliJ por clic derecho sobre una prueba específica y ejecutar

Cuestiones relacionadas