ChatGPT 这次无法帮助我,所以我来了。
我正在努力为我的集成测试设计一个好的实现设计。 让我一步步告诉你我的问题的简化故事。
到目前为止一切顺利,这就是我的困境的根源。
不出所料,即使范围不一样,它也无法工作。我真的看不到那里有任何选择。 只要我提取我想要避免重复的代码,我就不可避免地会创建循环依赖。
我尝试创建一个子模块,但它也不起作用,并且在父模块中拥有源代码是肮脏的。
我想到的一个解决方案是创建一个仅用于集成测试的模块,没有主要源代码,但这也不是很漂亮,因为我知道在这种情况下我仍然需要将上下文类提取到单独的模块中......
有人有更好的主意吗?
编辑:我可能找到了解决方法。实际上,我应该能够使测试上下文类完全独立于它们应该帮助测试的模块。我认为这更好,因为它将使测试完全独立于主要源(甚至不使用其中的 POJOS)。 我不确定这是否可能,所以其他选项会非常有帮助
因为我无法使用属于另一个测试源的类 模块
这可能是错误的假设。您可以在公共模块中制作附加工件(带有单独的分类器
tests
),您可以将其包含在 test
范围内,其中将包括测试代码。
https://maven.apache.org/plugins/maven-jar-plugin/examples/create-test-jar.html
https://maven.apache.org/guides/mini/guide-attached-tests.html