dcs*_*das 5 java maven-2 unit-testing jar
我正在努力将我的测试类包含在jar包中,但没有运行它们.经过一些谷歌搜索,我已经尝试过mvn package -DskipTests
,但我的测试类根本没有添加到jar中.
有任何想法吗?
如果你遵循maven约定,那么你的测试类就在src/test/java
.maven永远不会将测试源子目录的内容打包到工件中.
你有(至少......)3个替代品:
用"正常"来源进行测试
如果你真的想要它们打包(为什么?)那么你应该将测试类放在src/main/java
它们被视为普通源的地方,并将它们编译的类打包到工件中(通常是*.jar)
你不会遇到各种各样的问题.例如,您的工件将在junit上具有编译范围的依赖关系,这可能会干扰使用您的jar的其他模块.
此外,您可能必须配置运行测试的maven插件,以便在执行此操作时了解您的测试类(即,如果您确实希望在构建过程中运行测试).例如,surefire和failafe插件.
配置maven jar插件来构建测试jar
请参阅maven jar插件文档.他们甚至有一个标题为"如何创建一个包含测试类的jar"的部分 - 这些说明将导致您的测试被打包到一个单独的jar文件中(这可能是一个更好的主意).
直接使用程序集插件以您的方式创建jar
yuo可以禁用jar插件的默认执行,而是将程序集插件的执行添加到包阶段以创建jar.你需要为此编写一个汇编描述符(不像上面的链接那样复杂).这将使yu完全控制生产的jar中包含的内容.最好从复制其中一个预定义的程序集开始
归档时间: |
|
查看次数: |
9234 次 |
最近记录: |