在測試的時候是否有一種方法將屬性注入Java清單(或者注入整個清單)?Java單元測試集Manifest屬性
我們正在讀取清單(版本號)中的值,該清單在測試時間解析爲null。
到目前爲止,我們已經嘗試在我們的測試根目錄中放置一個硬編碼的MANIFEST.MF文件,但它不起作用。
這是我們用來閱讀清單代碼:
private Attributes getManifest() {
URLClassLoader cl = (URLClassLoader) getClass().getClassLoader();
Manifest manifest;
try {
URL url = cl.findResource("META-INF/MANIFEST.MF");
manifest = new Manifest(url.openStream());
} catch (IOException e) {
throw Throwables.propagate(e);
}
return manifest.getMainAttributes();
}
作爲最後的手段,我們將包裹,上面寫着清單的功能和嘲笑,但這些都是集成測試,並且都應該是黑盒子(即,我們避免嘲笑)。
其他信息:Java 7,在IntelliJ或Gradle中運行Junit測試。
所以,當你運行一個測試,其中MANIFEST.MF所在,到底是什麼? –
當測試是獨立的Java應用程序而不是運行在容器中的應用程序時,爲什麼要在運行測試(可能是JUnit?)時修改java清單? – czpona