一尘不染

在依赖模块中扩展测试类的测试类

java

我在一个模块中有一个测试类,该模块在其依赖项模块之一中扩展了另一个测试类。如何将依赖项的测试代码导入到依赖模块的测试范围中?

首先,我有两个模块,“ module-one”是对“ module-two”的依赖。SubTestCase是的子类TestCase

模块一
          \ src \ test \ java \ com \ example \ TestCase.java
模块二
          \ src \ test \ java \ com \ example \ SubTestCase.java

但是构建失败了,因为没有将“模块一”的测试代码导入到“模块二”中,而只是将其导入到主代码中。


阅读 140

收藏
2020-12-03

共1个答案

一尘不染

通常,除了常规的modulename.jar文件之外,还可以通过构建和部署modulename-
test.jar文件来解决此问题。您可以像常规工件一样将它们部署到存储库。这并非完全完美无缺,但是可以很好地处理代码工件。

然后,您可以将测试范围的依赖项添加到其他模块的测试罐中。

您还可以通过以下方法解决此问题:将测试范围的工件放在其自己的单独模块的“主”范围中,然后将其包括在其他模块的常规测试范围中。该解决方案在多模块构建中效果不佳,因为每个模块都导出一些测试工件,因为您基本上得到了2N个模块。

当我们意识到类的数量相当有限并且这两种解决方案都存在问题时,实际上我们很多人都放弃了这两种解决方案。我们只是将它们放在“主”范围内的适当命名的包中。我只是忘记了为什么前两个解决方案会很痛苦。

2020-12-03