2009-08-19 18 views

Respuesta

2

No es la tarea más común de una hormiga.

Es mejor escribir un método principal que ejecute su conjunto de pruebas "manualmente".

package test; 

import org.junit.runner.Request; 
import org.junit.runner.Result; 
import org.junit.runner.Runner; 
import org.junit.runner.notification.RunListener; 
import org.junit.runner.notification.RunNotifier; 

public class RollYourOwnTestRun { 

    public static void main(String[] args) { 
     Runner runner = Request.classes(StackTest.class).getRunner(); 
     RunNotifier notifier = new RunNotifier(); 
     Result result= new Result(); 
     RunListener listener= result.createListener(); 
     notifier.addListener(listener); 
     notifier.addListener(...); // add your listener 
     notifier.fireTestRunStarted(runner.getDescription()); 
     runner.run(fNotifier); 
     notifier.fireTestRunFinished(result); 
    } 

} 
1

Un @RunWith anotación podría ayudar (con algunas API menor violaciónes de mejores prácticas): le da a su propio corredor, y anular run(RunNotifier notifier). A través de RunNotifier, puede usar agregar * Listener-API, que está marcado como interno solo actualmente. ¡Buena suerte!

1

Esto es un poco tarde, pero es posible que trate de envolver su RunListener en la hormiga de JUnitResultFormatter (de org.apache.ant:ant-junit):

import static org.apache.tools.ant.taskdefs.optional.junit.JUnitVersionHelper.getTestCaseClassName; 
import static org.apache.tools.ant.taskdefs.optional.junit.JUnitVersionHelper.getTestCaseName; 
import static org.junit.runner.Description.createTestDescription; 

public class MyJunitFormatter implements JUnitResultFormatter { 

private final MyListener delegate = new MyListener(); 

@Override 
@SneakyThrows(Exception.class) 
public void endTest(Test test) { 
    delegate.testFinished(
      createTestDescription(
        getTestCaseClassName(test), 
        getTestCaseName(test))); 
} 

// .... 

Ver https://mail-archives.apache.org/mod_mbox/ant-user/201009.mbox/%[email protected]cehub.com%3E

Cuestiones relacionadas