“欢迎来到模块化世界中的测试”,凯文。
我在这里编译了有关该主题的博客:https : //github.com/sormuras/testing-in-the-modular-
world
基本上,当涉及白盒测试时,您需要在 测试编译 或 测试运行时 调整模块系统,以允许测试框架绕过模块系统的障碍。
我猜,您的方向正确……也许Surefire做错了事?想要给我写过镜头的https://github.com/sormuras/junit-
platform-maven-plugin吗?该插件支持开箱即用的黑盒和白盒测试。特别是,当您提供
test/java/module-info.java测试模块描述符时,此插件会发光。
请参见此“图片”,以了解如何在 不 接触主模块描述符的 情况下 组织模块化测试:
src ├── main │ └── java │ ├── foo │ │ ├── PackageFoo.java │ │ └──PublicFoo.java │ └── module-info.java <------------------ module foo { exportsfoo; } ├── test │ └── java .--- open module foo { │ ├── foo / exports foo; │ │└── PackageFooTests.java / requires org.junit.jupiter.api; │ └── module-info.[java|test] <----< } └── it └── bar °---- --add-reads └── srcfoo=org.junit.jupiter.api └── test --add-opens └── javafoo/foo=org.junit.platform.commons ├── bar │ └── PublicFooTests.java └──module-info.java <------ open module bar { requires foo; requiresorg.junit.jupiter.api; }此模式也应该易于采用。



