如何在套件 运行 中打印测试日志 (pass/failed)?

How to print log of tests (pass/failed) while they are running in suite?

我有包含几个测试的套件。当测试完成到 运行 时,我想打印每个测试是否通过或失败。 我不想为每个测试添加代码,因为我有很多测试,我需要在套件中进行。 这是我拥有的一个套件的示例:

    @RunWith(ConcurrentSuite.class)
    @Concurrent(threads = 6)
    @Suite.SuiteClasses({
        test1.class,
        test2.class,
        test3.class,
        test4.class,
    })
    public class ExampleSuite {

    }

谢谢!

如果您的测试 class 全部继承自抽象基础测试 class,您可以向该测试添加一个 Testwatcher,然后实现您希望对测试失败或测试成功做出的任何反应:

abstract class BaseTest {

@Rule
public TestWatcher watchman = new TestWatcher() {
// define logger here

    @Override
    protected void failed(Throwable e, Description description) {
        logger.error(description, e);
    }

    @Override
    protected void succeeded(Description description) {
        logger.info(description);
    }
};