junit springboot 跑测试时,打印出当前执行的test方法信息

但有时候还是需要使用junit做测试。方便日后参考。

目前流行的springboot 的junit测试,在很多时候需要使用。当前执行的方法是什么,我们只需要引入用注解方法就可以了。

pom.xml引入依赖jar包

<!-- 测试 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.junit.jupiter</groupId>
          <artifactId>junit-jupiter-engine</artifactId>
          </dependency>
        <dependency>
          <groupId>org.junit.platform</groupId>
          <artifactId>junit-platform-launcher</artifactId>
        </dependency>
<!--这个alibaba的json也加入下-->


<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>

<!--Lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>

junit测试类

能打印当前方法是哪个test主要是下面这句话

 @Rule
public TestName junitClass= new TestName();

引用了lombok包后,log使用如下注解

@Log4j2
在代码中可直接使用log,就可以了,不用再使用一大串
private Logger log = LoggerFactory.getLogger(getClass());

完整测试类

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SearchServerApplication.class)
@Log4j2
public class CmyDicServiceTest {private Long starttime;
    @Rule
    public TestName junitClass= new TestName();
    @Before
    public void before() {
        starttime = System.currentTimeMillis();
        System.out.println(junitClass.getMethodName() + "....................start....................");
    }
    @After
    public void after() {
        double usedtime = (System.currentTimeMillis() - starttime) / 1000.0;
        System.out.println("耗时  " + usedtime + " my");
        System.out.println(junitClass.getMethodName() + "....................end....................");
    }
    @Test
    public void methodtest() {
        log.info(junitClass.getMethodName() + "测试");
    }
}

运行结果

可以看到已经打印出当前执行的方法是methodtest

2020-04-23 10:06:58.558  INFO [my-server-search,,,] 51088 --- [           main] com.test.mq.CmyDicServiceTest            : Started CmyDicServiceTest in 65.613 seconds (JVM running for 68.844)
methodtest....................start....................
2020-04-23 10:06:59.361  INFO [my-server-search,,,] 51088 --- [           main] com.test.mq.CmyDicServiceTest            : methodtest测试
耗时  0.008 my
methodtest....................end....................

junit springboot 跑测试时,打印出当前执行的test方法信息