我目前正在测试使用jdk-9 + 149将Java 8应用程序迁移到Java 9/Jigsaw。我应该在将Java 8项目迁移到拼图时将单元测试放在哪里?
该项目已在标准的Maven目录结构进行布局,即具有src/main/java
,src/test/java
等
只要我添加module-info.java
到src/main/java
,Maven的编译器插件无法抛出一个NullPointerException。这是因为它预计也会找到test
目录的模块信息。所以,据我所见,选项有:
- 将测试类保存在一个单独的模块中,这意味着它们只能访问主模块的导出包。
- 将测试类与源代码一起移动到主模块中,这意味着主模块需要测试依赖关系。
很显然,这两个选项都不可取,所以我假设在Maven项目中测试Jigsaw模块是一种推荐的方法。非常,我找不到任何建议和例子。
编辑:并称,张贴问题时(对不起)我不认为相关的一些信息
- the NullPointerException I ran into
- 的Maven 3.3.9
- Maven的编译器插件3.6.0
- 源和目标配置:9
你在maven-compiler插件中指定了哪些源和目标作为配置?也请分享NPE的堆栈跟踪,以清除所面临的错误。 – nullpointer
对不起,添加了一些更多的信息。但基本上,NPE只是导致我面临实际问题的症状,我将如何处理一般的测试。 – peterp