您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用ANT在类或套件中运行所有测试时,如何打印当前正在执行的JUnit测试方法?

使用ANT在类或套件中运行所有测试时,如何打印当前正在执行的JUnit测试方法?

不幸的是,没有很好的方法挂接到JUnit。对于使用TDD开发的框架,它是令人震惊的敌意。

@Rule改用:

import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Log the currently running test.
 * 
 * <p>Typical usage:
 * 
 * <p>{@code @Rule public LogTestName logTestName = new LogTestName();}
 *
 * <p>See also:
 * <br>{@link org.junit.Rule}
 * <br>{@link org.junit.rules.TestWatcher}
 */
public class LogTestName extends TestWatcher {

    private final static Logger log = LoggerFactory.getLogger( "junit.logTestName" );

    @Override
    protected void starting( Description description ) {
        log.debug( "Test {}", description.getmethodName() );
    }

}

笔记:

我正在使用静态记录器。这使代码的执行速度更快,但是我的主要理由是记录测试名称一个贯穿各领域的问题:我想在中央位置启用/禁用此日志记录,而不是为每个测试类配置它。

一个原因是,我有一些工具可以处理构建输出,并且更容易针对固定模式进行配置:-)

如果您不希望这样做,则只需购买的记录器即可description.getTestClass()

其他 2022/1/1 18:27:54 有551人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶