Testng: TestNG no puede encontrar nombres de métodos JUnit de Spock

Creado en 1 abr. 2014  ·  13Comentarios  ·  Fuente: cbeust/testng

El marco Spock crea pruebas JUnit. Estos deberían poder ejecutarse a través de TestNG. Sin embargo, en la clase org.testng.junit.JUnit4TestMethod existe este código:

    private static Method getMethod(Description desc) {
        Class<?> c = desc.getTestClass();
        String method = desc.getMethodName();
        try {
            return c.getMethod(method);
        } catch (Throwable t) {
            Utils.log("JUnit4TestMethod", 2,
                    "Method '" + method + "' not found in class '" + c.getName() + "': " + t.getMessage());
            return null;
        }
    }

Dado que la descripción aprobada tiene el texto de la prueba de Spock (algo así como: "Esta es mi prueba de Spock") y Spock altera los nombres de las pruebas, la simple llamada "c.getMethod(método)" falla. Si esto se soluciona, TestNG también debería poder ejecutar pruebas de Spock (JUnit).

junit

Comentario más útil

@rumatoest En lugar de quejarse, podría dedicar su tiempo libre a depurar/arreglar esto. Estoy harto de que la gente piense en herramientas/marcos utilizables como si siempre los preparara una gran empresa. TestNG es, como afirma @juherr , un proyecto de tiempo libre.

Como ya quería ponerme en contacto con Spock (siempre ansioso por aprender cosas nuevas), podría echarle un vistazo la próxima vez.

Todos 13 comentarios

Me pregunto por qué TestNG está tratando de obtener Method para la prueba. Esto causará problemas con algunos marcos de prueba que implementan un corredor JUnit.

+1

+1

+1

+1

+1

+1

Este boleto tiene ahora más de 2 años. ¡Todavía no tiene a nadie (NUNCA) asignado! Que completa broma. Si alguien está considerando el uso de TestNG, debe tener en cuenta el apoyo extremadamente pobre que se puede esperar. Ojalá todas nuestras pruebas estuvieran en JUnit...

Apoyamos las pruebas durante nuestro tiempo libre y solucionamos otros problemas más importantes.

Pero el proyecto está abierto, ¿por qué no intentar solucionarlo usted mismo? Nos encantará ayudarte a hacer una solicitud de extracción.

Al final, y como dijiste, JUnit también es una solución (y un buen proyecto).

@ blackduck-joe Eché un vistazo al problema y no tengo idea de cómo solucionarlo.

Pero su necesidad es más clara en su cabeza SO , y si lo entiendo bien, desea ejecutar 2 tipos de pruebas (spock/junit y testng).
Luego, si está utilizando maven, debe consultar https://groups.google.com/forum/#!topic/spockframework/ -iys4ARQrxk y/o ejecutar TestNG y pruebas JUnit

Conceptualmente, la necesidad de agregar junit en mi proyecto actual me llevará a usar solo junit en los próximos proyectos.

@rumatoest En lugar de quejarse, podría dedicar su tiempo libre a depurar/arreglar esto. Estoy harto de que la gente piense en herramientas/marcos utilizables como si siempre los preparara una gran empresa. TestNG es, como afirma @juherr , un proyecto de tiempo libre.

Como ya quería ponerme en contacto con Spock (siempre ansioso por aprender cosas nuevas), podría echarle un vistazo la próxima vez.

¿Fue útil esta página
0 / 5 - 0 calificaciones