sga*_*gan 12 unit-testing module intellij-idea
我在Intellij中有一个多模块项目,我在一个子模块的测试源中有一堆黄瓜装置,我想在另一个子模块中重用.如果我添加另一个模块,作为依赖项,那么它的正常ouptut目录将添加到junit类路径但不会添加到其测试输出中.
是否有可能让intellij还导出模块测试目录并允许其他模块使用它们?
小智 5
是的,你可以,但这并不简单。
所以你有Module-A和Module-B。
Module-B有一个TestClass可能扩展 AbstractClass 或使用Module-A 的一些静态助手
注意:这仅适用于 intellij,如果您使用的是 maven 或 gradle,则需要检查这是否仍然可以构建。
这是您需要做的。
(Ctrl+Alt+Shift+S - win/linux)C:\dev\projects\myProject\moduleA\build\testclasses或类似的。(Alt+Insert)并添加新库(选项上的第 2 项)C:\dev\projects\myProject\moduleA\build\testclasses然后单击OK。您现在将在此处拥有模块 A的课程。将其命名为合适的名称并将Level选项Module-A Tests更改为Module Library。(Alt+Insert)可以添加源。导航到测试 src 文件。EG:C:\dev\projects\myProject\moduleA\src\test并添加这个,你现在也将添加一个 Sources 。
现在你有了模块之间链接的测试依赖。
如果您能想到更好的解决方案,请告诉我,但这是我找到的最简单的方法。
也许吧,但你应该通过自动构建(即在 Maven 中)而不是 IDE 中来完成此操作。如果您将 Maven 模块的测试作为单独的依赖项发布(我就是这么做的),您可以将测试 jar 添加为其他模块的 dep。IDEA 当然会自动处理这个问题。
http://maven.apache.org/guides/mini/guide-attached-tests.html