Vit*_*liy 15 unit-testing jar maven
我有一个maven构建过程,可以将可执行jar及其测试发布到Nexus.我有另一个maven构建过程需要访问这些jar(可执行文件+测试)并运行测试.
我该怎么办呢?到目前为止,只有当jar被分解为类文件时,我才设法做到这一点.我是maven的新手,完全迷失在文档中.
Surefire和failsafe目前不支持在jar中运行测试.
这在很大程度上是无法识别测试的情况.
有两种方法可以让测试运行.
使用测试套件列出测试罐中的所有测试.因为测试套件将在src/test/java中(更正确地将编译成目标/测试类)将被拾取并且套件中的所有测试将由Surefire/failsafe运行(假设套件类名称)匹配包含规则:以Test开头或结尾)
使用maven依赖插件的unpack-dependencies目标将test-jar解压缩到target/test-classes(这种hack的尖叫,但效果很好)
第一个选项的主要问题是你不能轻易地从套件中运行一个测试,你需要从test-jar命名每个测试
出于这个原因,我倾向于选择选项2 ...还有一个额外的好处,即选项2并不意味着编写代码来解决构建工具插件中的限制...你将自己锁定到特定的构建工具中的越少,更好的恕我直言
对于更新的surefire和failsafe插件,这实际上可以很好地工作,请参阅相关问题:
因此,您无需再拆开jar包,只需提供要扫描的依赖项的组和工件ID(这适用于“ main jar”依赖项以及“ test-jar”依赖项)
| 归档时间: |
|
| 查看次数: |
9888 次 |
| 最近记录: |