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....................

  • 相关阅读:
    同样的请求img代码,单个html文件和项目中的html文件请求结果不一样
    CSS中A标签断字不换行问题(基础知识)
    句柄无效。 (异常来自 HRESULT:0x80070006 (E_HANDLE))
    Ext.Net 控件FileUploadField上传文件
    500内部服务器错误。你查找的资源存在问题,因而无法显示
    WebService 错误:无法加载协定为xxx的终结点配置部分,因为找到了该协定的多个终结点配置
    SyntaxError: unterminated string literal
    servlet入门
    myeclipse视图布局恢复
    JavaWEB开发入门
  • 原文地址:https://www.cnblogs.com/a393060727/p/12758944.html
Copyright © 2011-2022 走看看