Estoy tratando de invocar un conjunto de pruebas JUnit utilizando la API. Sé que puede suite de hasta clases de prueba utilizando la siguiente:¿Cómo ejecutar mediante programación un conjunto de pruebas utilizando JUnit4?
@RunWith(Suite.class)
@Suite.SuiteClasses({
Test1.class,
Test2.class, ...
})
embargo, hay una manera de activar el paquete completo con la API de Java, utilizando JUnitCore por ejemplo?
Por ejemplo, puede desencadenar una prueba usando el siguiente código:
Runner r =
try {
r = new BlockJUnit4ClassRunner(Class.forName(testClass));
} catch (ClassNotFoundException | InitializationError e) {
// handle
}
JUnitCore c = new JUnitCore();
c.run(Request.runner(r));
Actualización:
de la API, parece que la propia clase Suite es un corredor, por lo tanto, la siguiente código parece funcionar:
Suite suite = new Suite(klass, new RunnerBuilder() {
... // Implement methods
});
JUnitCore c = new JUnitCore();
c.run(Request.runner(suite));
pero no estoy seguro si esto es un enfoque recomendado o si hay alguna desventaja de escritura t él encima del código.
Gracias Matthew! Definitivamente voy a darle una oportunidad. Mientras tanto, ¿tienes recomendaciones para el fragmento de código en mi actualización? – Neel