1 2 | RunWith注解报错、报红、没有提示的问题,想必令很多Spring Boot初学者很头疼吧,其实博主也是初学者。下面博主简单来说一下这个问题的解决办法。 RunWith注解报错是因为缺少jar包,Spring Boot单元测试除了要导入Spring Boot本身的测试包,还需要导入junit的包,以下是博主的导入的所有依赖: |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.73</version> </dependency> <!--导入配置文件处理器,配置文件进行绑定就会有提示--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> </dependency> |
注意:
此处junit和spring-boot-starter-test这两个依赖不要写
1 2 | <version></version> <scope></scope> |
这两个属性。
另外,如果遇到无效的测试类这个错误,请检查一下测试方法上注解的导包,博主的测试类代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | package com.atguigu.railgun; import com.atguigu.railgun.bean.Person; import org.junit.Test; 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; /** * SpringBoot单元测试 */ @RunWith(SpringRunner.class) @SpringBootTest public class ApplicationTest {<!-- --> @Autowired private Person person; @Test public void contextLoads() {<!-- --> System.out.println(person); } } |
注意看一下,导的是
1 | import org.junit.Test; |
这个包。另外需要注意的是,修改maven中依赖的相关信息之后要确认maven已经重新导入资源完毕,以免出现代码没有问题,运行依然报错。
以上就是关于RunWith注解报错问题的解决方案,希望对初学者有帮助。