zoukankan      html  css  js  c++  java
  • 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....................

  • 相关阅读:
    Luogu P3919【模板】可持久化数组(可持久化线段树/平衡树)
    线段树||BZOJ5194: [Usaco2018 Feb]Snow Boots||Luogu P4269 [USACO18FEB]Snow Boots G
    线段树||BZOJ1593: [Usaco2008 Feb]Hotel 旅馆||Luogu P2894 [USACO08FEB]酒店Hotel
    CF 610E. Alphabet Permutations
    BZOJ 1227: [SDOI2009]虔诚的墓主人
    BZOJ1009: [HNOI2008]GT考试
    BZOJ3674: 可持久化并查集加强版
    BZOJ3261: 最大异或和
    BZOJ2741: 【FOTILE模拟赛】L
    BZOJ3166: [Heoi2013]Alo
  • 原文地址:https://www.cnblogs.com/a393060727/p/12758944.html
Copyright © 2011-2022 走看看