spring-boot项目中使用单元测试

spring-boot项目中使用单元测试?

  1. pom.xml中引入spring-boot-starter-test包,目前项目已经引入,无需重复

    
    
        org.springframework.boot
        spring-boot-starter-test
        test
    
    
  2. 新建测试目录\test\java, 把目录设为Test Source Root

spring-boot项目中使用单元测试_第1张图片
image-20191219113425159.png
  1. 自动生成JUnit测试代码,在类名上使用快捷键 Alt+Enter
spring-boot项目中使用单元测试_第2张图片
image-20191219134257169.png

选择要测试的方法

spring-boot项目中使用单元测试_第3张图片
image-20191219140621742.png

自动在目录下生成测试方法代码

spring-boot项目中使用单元测试_第4张图片
image-20191219140744257.png
  1. 添加注解

    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = RuoYiApplication.class)
    
spring-boot项目中使用单元测试_第5张图片
![image-20191219144658247.png](https://upload-images.jianshu.io/upload_images/2485349-d436598109e624fa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 想要执行的时候,鼠标放在对应的方法,右键选择run该方法即可。
spring-boot项目中使用单元测试_第6张图片
image-20191219142427568.png
  1. 几个常用的注解

    @Test:把一个方法标记为测试方法
    @Before:每一个测试方法执行前自动调用一次
    @After:每一个测试方法执行完自动调用一次
    @BeforeClass:所有测试方法执行前执行一次,在测试类还没有实例化就已经被加载,所以用static修饰
    @AfterClass:所有测试方法执行完执行一次,在测试类还没有实例化就已经被加载,所以用static修饰
    @Ignore:暂不执行该测试方法
    

    卍解 :

    @BeforeClass@AfterClass在类被实例化前(构造方法执行前)就被调用了,而且只执行一次,通常用来初始化和关闭资源。

    @Before@After和在每个@Test执行前后都会被执行一次。

    @Test标记一个方法为测试方法

spring-boot项目中使用单元测试_第7张图片
image-20191219144043569.png
有两个属性
excepted:测试方法会检查是否抛出Exception异常
timeout:测试一个方法能不能在规定时间内完成

@Ignore标记的测试方法不会被执行,例如这个模块还没完成或者现在想测试别的不想测试这一块。

`@Transactional`  单元个测试的时候如果不想造成垃圾数据,可以开启事物功能 
@Test
@Transactional
public void test(){

}

你可能感兴趣的:(spring-boot项目中使用单元测试)