Java单元测试设置Manifest属性

时间:2014-06-25 14:07:14

标签: java junit manifest.mf

在测试时是否有办法将属性注入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测试。

0 个答案:

没有答案