zoukankan      html  css  js  c++  java
  • SpringBoot-单元测试

    SpringBoot-单元测试

    SpringBoot-单元测试

    在SpringBoot中提供了单元测试的组件,它类似于Spring中的单元测试,无需加载配置文件,即可从容器中获取对象的实例。

    首先在pom文件中导入以下依赖:

    <!--springboot程序测试依赖,如果是自动创建项目默认添加-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

    然后在test文件夹中创建测试类,在测试类上加上如下注解:

    @Runwith(SpringRunner.class)
    @SpringBootTest(classes=Application.class)

    在该类中就可以使用@Autowired和@Test进行测试

    packagecn.rayfoo.demo;

    importcn.rayfoo.Application;
    importcn.rayfoo.config.JDBCProperties;
    importorg.junit.jupiter.api.Test;
    importorg.junit.runner.RunWith;
    importorg.springframework.beans.factory.annotation.Autowired;
    importorg.springframework.boot.test.context.SpringBootTest;
    importorg.springframework.test.context.junit4.SpringRunner;

    @RunWith(SpringRunner.class)
    @SpringBootTest(classes=Application.class)
    classDemoApplicationTests{

       @Autowired
       privateJDBCPropertiesjdbcProperties;

       @Test
       voidcontextLoads() {
           System.out.println(jdbcProperties);
      }

    }

    当然,我们还可以使用@After@Before注解

    Junit基本注解介绍

    @BeforeClass 在所有测试方法前执行一次,一般在其中写上整体初始化的代码

    @AfterClass 在所有测试方法后执行一次,一般在其中写上销毁和释放资源的代码

    @Before 在每个测试方法前执行,一般用来初始化方法(比如我们在测试别的方法时,类中与其他测试方法共享的值已经被改变,为了保证测试结果的有效性,我们会在@Before注解的方法中重置数据)

    @After 在每个测试方法后执行,在方法执行完成后要做的事情

    @Test(timeout = 1000) 测试方法执行超过1000毫秒后算超时,测试将失败

    @Test(expected = Exception.class) 测试方法期望得到的异常类,如果方法执行没有抛出指定的异常,则测试失败

    @Ignore(“not ready yet”) 执行测试时将忽略掉此方法,如果用于修饰类,则忽略整个类

    @Test 编写一般测试用例

    @RunWith 在JUnit中有很多个Runner,他们负责调用你的测试代码,每一个Runner都有各自的特殊功能,你要根据需要选择不同的Runner来运行你的测试代码。

    如果我们只是简单的做普通Java测试,不涉及Spring Web项目,你可以省略@RunWith注解,这样系统会自动使用默认Runner来运行你的代码。

    以上就是我们再SpringBoot2.X 中的测试过程示例( 当然也是用 SpringBoot 1.X ),是不是可以说 so easy?

  • 相关阅读:
    Linux多线程Pthread学习小结
    TCP三次握手/四次挥手
    内存管理内幕
    Delphi 中分发设计时包
    一个小的算法问题解决
    写了一个验证数字范围的正则表达式
    用 XML 文件持久化和恢复图片信息
    string.Empty 和 "" 并不总是可以互换的
    博客园用的 FreeTextBox 有 bug
    乱花渐欲迷人眼。。。
  • 原文地址:https://www.cnblogs.com/zhangruifeng/p/11818005.html
Copyright © 2011-2022 走看看