SpringBoot整合Junit4以及Junit5
SpringBoot 2.2.0之前,默认使用Junit4,SpringBoot 2.2.0及以后,默认使用的时Junit5。从下面两张图可以看出。


1. SpringBoot+Junit4单元测试代码
package com.jinnyuxin;import com.jinnyuxin.boot.SpringBootTestApplication;
import com.jinnyuxin.boot.service.UserService;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;/*** @author 金余新* @date 2021/1/7 16:36*/
//当启动类与测试类包名不一致时,需要显示指定启动类,否则可以不指定
@SpringBootTest(classes = SpringBootTestApplication.class)
//以下这两个注解都可以使用
//@RunWith(SpringJUnit4ClassRunner.class)
@RunWith(SpringRunner.class)
public class SpringBootJunit4Test {@Autowiredprivate UserService userService;@org.junit.Testpublic void testSayHello() {userService.sayHello("hello4");}}
2. SpringBoot+Junit5单元测试代码
package com.jinnyuxin;import com.jinnyuxin.boot.SpringBootTestApplication;
import com.jinnyuxin.boot.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;/*** @author 金余新* @date 2021/1/7 16:45*/
@SpringBootTest(classes = SpringBootTestApplication.class)
//下面两个注解是等价的,由于@SpringBootTest注解包含了@ExtendWith注解,所以使用Junit5下面两个注解可以不用加。
//@ExtendWith({SpringExtension.class})
//@SpringJUnitConfig
public class SpringBootJunit5Test {@Autowiredprivate UserService userService;@Testpublic void testSayHello() {userService.sayHello("hello5");}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
