作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 Maven/Surefire unittest run "mvn test"期间使 list 可用?
我有一个开源项目,我正在从 Ant 转换为 Maven,包括它的单元测试。这是 Maven 项目的项目源代码库:
http://github.com/znerd/logdoc
我的问题与称为“基础”的主要模块有关。这个模块有一个单元测试来测试静态方法getVersion()
的行为。在类(class) org.znerd.logdoc.Library
.此方法返回:
Library.class.getPackage().getImplementationVersion()
getImplementationVersion()
方法返回 list 文件中设置的值。到现在为止还挺好。我过去对此进行了测试,它运行良好,只要 list 确实在路径
META-INF/MANIFEST.MF
的类路径上可用(在文件系统上或在 JAR 文件中)。
mvn test
Library.getVersion()
返回
null
.
/private/var/folders/TR/TREvj1wIHYyAcUy-xmc3UU+++TI/-Tmp-/surefirebooter7448562488934426857.jar
src/main/resources
下的资源。 .所以把
META-INF/MANIFEST.MF
文件也不起作用。
META-INF/MANIFEST.MF
文件可从与
Library
相同的类加载器中获得类(class)。
Note that I use Maven 2.2.0, Java 1.6.0_17 on Mac OS X 10.6.2, with JUnit 4.8.1.
最佳答案
好吧,正如您指出的那样,问题在于 MANIFEST.MF
在 package
期间生成并直接包含在最终的 jar 中,所有这些都发生在 test
之后.所以我想你必须要么:
target/classes
期间合并之前将在 package
中可用)。我不知道这是否是一个选项(以及它是否会起作用)。 关于maven-2 - 如何在 Maven/Surefire 单元测试运行 "mvn test"期间使 list 可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2916209/
我是一名优秀的程序员,十分优秀!