我正在尝试使用TestLink,Cucumber,Jenkins和Maven自动进行验收测试。为此,我要求阅读Maven创建的MANIFEST.MF文件。我必须在测试执行期间这样做。
我发现了这个代码示例:
var istanbul = require('gulp-istanbul');
var $ = require('gulp-load-plugins')({lazy: true});
gulp.task('run', function () {
return gulp.src(config.files)
.pipe($.istanbul(
{
instrumenter: isparta.Instrumenter
}
))
.pipe(istanbul.hookRequire());
});
但是在尝试执行它时我得到一个NullPointerException ...你知道为什么吗?
我使用简单命令启动Maven:mvn package test。
我认为问题来自于此代码启动的时刻,我应该在包阶段之后启动它,有没有办法做到这一点?
谢谢!
答案 0 :(得分:0)
我认为您可以尝试下面的代码,因为大多数类加载器都可以转换为URLClassLoader
URLClassLoader cl = (URLClassLoader) getClass().getClassLoader();
try {
URL url = cl.findResource("META-INF/MANIFEST.MF");
Manifest manifest = new Manifest(url.openStream());
...
} catch (IOException E) {
// handle
}