解决了!
我已经将Junit从类路径删除到模块路径,还删除了所有Junit 4兼容性东西,例如RunWith()等,并进行了纯Junit 5测试。
我添加了一个module-info.java(Junit 5不需要打开模块,尽管书中讲的相反)
在对测试进行模块化之后,我发现它仍然没有执行ServiceLoader的东西。然后,我自己开始寻找故障。
我找到了!可以在基本模块中运行ServiceLoader东西,因为基本模块引用导出的myProvider.jar,而后者又访问了同一目录中的myProvider-
config.properties文件。没有此配置文件,myProvider将无法正常工作。
另一方面,有问题的测试模块引用了myProvider的eclipse项目而不是其导出的.jar文件,因此无法找到其配置文件并退出。我已经将此配置文件从Netbeans移至Eclipse,只需将其复制到同一目录中即可。因此缺少配置文件是问题所在。
更改项目设置,我可以毫无问题地运行测试。
我要感谢所有答复的人员。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)