当一个给定的 JUnit4 测试运行时,我希望它生成一个包含所有测试结果的日志文件。我不想通过 CI/ant/maven 调用它。我希望它可以在任何时候从任何地方调用 JUnit 测试时运行。如果那是不可能的,那么我想编写我自己的运行程序,它有问题地调用我的 AllTestSuites 类并自己记录所有结果。
这将是我的测试课程之一:
public class SimpleTestSuite extends TestCase{
@Test
public void simpleTestPass() {
assertTrue(true);
}
@Test
public void simpleTestFail() {
assertTrue(false);
}
@Test
public void simpleTestException() {
throw new RuntimeException();
}
}
我将它包含在一个 TestSuite 中,其中包含我要运行的所有测试套件:
@RunWith(Suite.class)
@Suite.SuiteClasses({SimpleTestSuite.class, ExampleSuite.class,})
public final class AllTestSuites {}
我想调用 AllTestSuites 并让它生成一个日志文件,如下所示。请记住,我更喜欢捕获 JUnit4 框架的结果总线上的内容,而不是重新发明/创建新的测试运行器。
simpleTestPass - pass - 1/1 assertions passed
simpleTestFail - fail - 0/1 assertions passed
simpleTestException - exception - stacktrace as follows...