【发布时间】:2012-11-02 16:43:29
【问题描述】:
当一个给定的 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();
}
}
我将它包含在一个测试套件中,其中包含我要运行的所有测试套件:
@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...
【问题讨论】: