que ejemplo asserttrue unit-testing grails

unit-testing - ejemplo - que es junit



¿Puedo ejecutar una prueba de unidad única desde la línea de comandos para un proyecto de Grails? (5)

Dada una clase de prueba foo.BarTests , puede ejecutar solo las pruebas en esa clase usando el siguiente comando:

grails test-app :unit foo.Bar

O ejecute un único método de prueba dentro de esa clase usando:

grails test-app :unit foo.Bar.testMethod

Tenga en cuenta que no incluye la palabra "Pruebas" cuando especifica el nombre de la clase de prueba.

He estado ejecutando mis pruebas de la unidad Grails al escribir grails test-app :unit , que ejecuta todas las pruebas unitarias. ¿Hay alguna forma de especificar una sola prueba?

Editar: Hasta ahora, todo el mundo básicamente dice lo mismo, pero cuando lo hago, no se ejecutan pruebas. ¿Alguna idea más?

Conclusión: OK, estaba usando el nombre de la clase de prueba, en lugar del nombre de la clase que se está probando. Una vez que probé Foo lugar de FooTests funcionó perfectamente.


Esto funcionaría con seguridad, lo uso todos los días

A continuación se ejecutará una única prueba

grails test-app :unit ExampleControllerTests.testName

A continuación, se ejecutarán todos los controles ExampleController

grails test-app :unit ExampleControllerTests


sí hay

grails test-app -unit YourController.testSomething

donde YourController es su controlador y testSomething es el método de prueba.

Deberías ver algo como

Pruebas APROBADAS: ver informes en


Posibilidades de cosas que podrían estar mal con tu configuración:

  • Tu orden de comando es incorrecta. Lo que funciona para mí es:

    grails test-app -unit Foo (donde mi clase de prueba es FooTests.groovy )

  • No está importando explícitamente grails.test.GrailsUnitTestCase .

    Tuve algunos problemas al reconocer mis pruebas cuando no importé esto. Cuando extendía GroovyTestCase , las cosas parecían funcionar normalmente.

Ejemplo de trabajo

Aquí hay un conjunto de pruebas de muestra que me funcionan. ¿Quizás pueda detectar algunas diferencias entre ellos y sus pruebas?

Nota: Todos estos se ejecutan con el plugin de testing instalado

prueba / unidad / FooTests.groovy

import grails.test.GrailsUnitTestCase class FooTest extends GrailsUnitTestCase { void testFoo() { assert true } void testBar() { assert true } }

prueba / unidad / BarTests.groovy

import grails.test.GrailsUnitTestCase class BarTest extends GrailsUnitTestCase { void testFoo() { assert true } void testBar() { assert true } }

prueba / unidad / mi / paquete / BazTests.groovy

package my.pkg import grails.test.GrailsUnitTestCase class BazTest extends GrailsUnitTestCase { void testFoo() { assert true } void testBar() { assert true } }

comando: todas las pruebas unitarias

$ grails test-app -unit ... Starting unit test phase ... ------------------------------------------------------- Running 6 unit tests... Running test my.pkg.BazTest...PASSED Running test FooTest...PASSED Running test BarTest...PASSED Tests Completed in 847ms ... ------------------------------------------------------- Tests passed: 6 Tests failed: 0 ------------------------------------------------------- ... Tests PASSED - view reports in target/test-reports

comando: pruebas de la unidad Foo

$ grails test-app -unit Foo ... Starting unit test phase ... ------------------------------------------------------- Running 1 unit test... Running test FooTest...PASSED Tests Completed in 815ms ... ------------------------------------------------------- Tests passed: 2 Tests failed: 0 ------------------------------------------------------- ... Tests PASSED - view reports in target/test-reports

comando: my.pkg.Baz pruebas de unidad

$ grails test-app -unit my.pkg.Baz ... Starting unit test phase ... ------------------------------------------------------- Running 2 unit tests... Running test my.pkg.BazTest...PASSED Tests Completed in 842ms ... ------------------------------------------------------- Tests passed: 2 Tests failed: 0 ------------------------------------------------------- ... Tests PASSED - view reports in target/test-reports

Intenté estos en Grails 1.2.3 y Grails 1.3.4, ambos se comportaron igual.


grails test-app -unit com.package.YourController.testSomething

necesita incluir el nombre del paquete cuando ejecuta la prueba