如何在套件 运行 中打印测试日志 (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);
}
};
我有包含几个测试的套件。当测试完成到 运行 时,我想打印每个测试是否通过或失败。 我不想为每个测试添加代码,因为我有很多测试,我需要在套件中进行。 这是我拥有的一个套件的示例:
@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);
}
};