2013-07-14 33 views
1

是否有可能获得Package.getImplementationVersion()方法用于junits?我正在使用maven和eclipse。我试图执行mvn war:manifest来创建清单文件,所以我可以验证实现版本不为null。junit的Package.getImplementationVersion方法

目前这里是我的测试单元,其失败:

assertNotNull(Version.class.getPackage()getImplementationVersion());

回答

1

如果您想验证战争的MANIFEST文件是否包含某些字段,标准的单元测试为时尚早,因为战争尚未打包。 相反,我会为maven-failsafe-plugin写一个junit测试。现在,您的测试类必须以IT而不是Test来结束,因此它被插件识别为集成测试。 接下来,在目标目录中找到war文件并将其作为JarFile读取,因此您可以直接访问Manifest。其余的不应该太难。

+0

对不起,但我做了你的建议,它的工作!谢谢。此外,我发现这是重复的:http://stackoverflow.com/questions/2916209/how-do-i-make-the-manifest-available-during-a-maven-surefire-unittest-run-mvn-t – Steve