当前位置:网站首页 > R语言数据分析 > 正文

junit教程(junit-platform-commons)



大家有没有遇到过这种情况,自己从网上拉取了一个开源项目代码,拉取下来后先将代码整体浏览了下,然后想跑下代码中自带的单元测试进行debug下,但是此时就突然报了一个奇怪的异常:  org.junit.platform.commons.util.ReflectionUtils.getDefaultClassLoader()Ljava/lang/ClassLoader

然后根据错误信息去网上一顿查询,并且根据好几个博客进行修改,但最终还是无法修复异常;一时让人苦恼,真他喵的烦 [::>_<::]

不再啰嗦了,直接进入主题:出现这个问题时,应该怎么修改;

本文主线:

①、出现问题时的项目环境

②、出现此错误的原因

③、此问题的解决方案(两种方案)

开发工具:IntelliJ IDEA 2017.1

代码框架:SpringBoot

单元测试:junit5

「开始时测试类如下:」

通过查阅资料得知,由于单元测试时使用的是 org.junit.jupiter.api.Test ,而这个模块是Junit5才有的,并且Junit官网对这个模块使用有一定的要求, 也就是IDEA的版本必须要是 2017.3及以后的 ,但是我使用的是 2017.1 版本的IDEA,所以就出现此问题了;

官网地址:https://junit.org/junit5/docs/current/user-guide/#running-tests-ide

方案一:

通过上面的描述的错误原因得知,主要是IDEA的版本过低,我们可以直接升级IDEA,升级到 2017.3及以后的版本即可;

但是如果不想费时升级IDEA的话,可以通过下面这种方法对代码进行修改即可;

方案二:

通过出现的原因得知,是由于低版本的IDEA使用Junit5导致的,可以不使用Junit5了,直接使用支持的 Junit4 呀;

「修改步骤:」

1、首先将POM.xml文件中的 spring-boot-starter-test 依赖中的junit-jupiter-api 排除掉:


2、然后在 POM.xml文件中的 导入 junit4 的依赖;


3、此时修改告一段落,但是如果你的测试方法中,需要使用到 依赖注入的注解 时,此时就需要对测试方法进一步修改,修改成如下:

  • 在测试类上加入@RunWith注解
  • 将@Test注解改为使用junit4
  • @RunWith(SpringRunner.class):此注解的作用就是启动Spring容器,这样自动注入才有效
  • @SpringBootTest(classes = ShardApplication.class):指定SpringBoot的启动类, ShardApplication 需要改为自己的启动类

4、注意:测试类和测试方法需要都设置为被 public 修饰;

如果本文对您有帮助的话,请挥动下您爱发财的小手点下赞呀,您的支持就是我不断创作的动力,谢谢啦!

您可以微信搜索 【木子雷】 公众号,大量Java学习干货文章,您可以来瞧一瞧哟!

到此这篇junit教程(junit-platform-commons)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • airplane和aeroplane有什么区别(aeroplane和aircraft的区别)2025-03-19 23:27:06
  • 为什么很少人用grid布局(grid布局现在能用吗)2025-03-19 23:27:06
  • dockerdesktop运行错误(dockerdesktop出现错误)2025-03-19 23:27:06
  • 破解加密的word文档(破解加密word文档代码)2025-03-19 23:27:06
  • hprof文件怎么打开(hprof文件怎么打开linux)2025-03-19 23:27:06
  • swagger2 配置(swagger2 配置 spring项目)2025-03-19 23:27:06
  • swagger的配置(swagger3配置)2025-03-19 23:27:06
  • stric用法(stir的用法)2025-03-19 23:27:06
  • yarn命令查看日志(查看yarn log)2025-03-19 23:27:06
  • vmware密钥15(vmware密钥怎么用)2025-03-19 23:27:06
  • 全屏图片