Spring MVC 集成新版JUnit 5 测试框架

JUnit 是一个回归测试框架(regression testing framework)

在项目的pom.xml 配置文件中添加最新的JUnit 5 依赖:

注释junit 4 依赖,引入 junit 5 依赖。

Spring MVC 集成新版JUnit 5 测试框架

<!-- junit start -->

<!--<dependency>-->

<!--<groupId>junit</groupId>-->

<!--<artifactId>junit</artifactId>-->

<!--<version>4.12</version>-->

<!--<scope>test</scope>-->

<!--</dependency>-->

<dependency>

<groupId>org.junit.jupiter</groupId>

<artifactId>junit-jupiter-api</artifactId>

<version>RELEASE</version>

<scope>test</scope>

</dependency>

<!-- junit end -->

查看添加的依赖包:

Spring MVC 集成新版JUnit 5 测试框架

在test 项目中,创建测试基类: BaseJunit4Test,具体代码如下:

package com.rickie;

import org.junit.jupiter.api.extension.ExtendWith;

//import org.junit.runner.RunWith;

import org.springframework.test.context.ContextConfiguration;

import org.springframework.test.context.junit.jupiter.SpringExtension;

//import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

//@RunWith(SpringJUnit4ClassRunner.class)

@ExtendWith(SpringExtension.class)

@ContextConfiguration(locations={"classpath:applicationContext.xml"})

public class BaseJunit4Test {

}

参考链接:

JUnit 5 User Guide

https://junit.org/junit5/docs/current/user-guide/#overview-what-is-junit-5

New Annotations for Running Tests

测试类新注解

在JUnit 4 版本中,使用 @RunWith 集成测试环境和其他框架。

在JUnit 5 版本中,我们现在使用 @ExtendWith 注解提供相同的功能。

如下示例代码,是JUnit 4:

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(

{"/app-config.xml", "/test-data-access-config.xml"})

public class SpringExtensionTest {

/*...*/

}

现在,JUnit 5 示例代码,如下所示:

@ExtendWith(SpringExtension.class)

@ContextConfiguration(

{ "/app-config.xml", "/test-data-access-config.xml" })

public class SpringExtensionTest {

/*...*/

}

创建一个具体的测试类

简单测试集成 JUnit 框架是否成功:

package com.rickie.dao;

import com.rickie.BaseJunit4Test;

import com.rickie.model.User;

import org.junit.jupiter.api.DisplayName;

import org.junit.jupiter.api.Test;

import javax.annotation.Resource;

import java.util.List;

import static org.junit.jupiter.api.Assertions.assertTrue;

public class UserDaoTest extends BaseJunit4Test {

@Resource

private UserDao userDao;

@Test

@DisplayName("用户列表测试")

public void findAll() {

List<User> userList = userDao.findAll();

System.out.println("userList.size()=" + userList.size());

assertTrue(userList.size() > 0);

}

}

测试输出结果:

Spring MVC 集成新版JUnit 5 测试框架

相关推荐