Angularjs 向覆盖率测试结果添加构建版本信息的任何简单方法
我正在使用karma覆盖率来衡量我的项目中的单元测试覆盖率,在这方面一切都很好。我使用HTML reporter进入默认目录 但是,我需要使用grunt git Descripte“标记”覆盖率报告的构建版本信息,grunt git Descripte当前用于加载结果version.json文件的AngularJS应用程序页脚。在karma coverage的html报告中,我没有找到任何直接的方法来使用这个version.json文件。所以,如果有人知道怎么做,我会非常感激Angularjs 向覆盖率测试结果添加构建版本信息的任何简单方法,angularjs,gruntjs,karma-runner,karma-coverage,Angularjs,Gruntjs,Karma Runner,Karma Coverage,我正在使用karma覆盖率来衡量我的项目中的单元测试覆盖率,在这方面一切都很好。我使用HTML reporter进入默认目录 但是,我需要使用grunt git Descripte“标记”覆盖率报告的构建版本信息,grunt git Descripte当前用于加载结果version.json文件的AngularJS应用程序页脚。在karma coverage的html报告中,我没有找到任何直接的方法来使用这个version.json文件。所以,如果有人知道怎么做,我会非常感激 提前谢谢 我确实通
提前谢谢 我确实通过一种变通方法实现了这一点。在运行karma之后,我在grunt中使用文本替换模块来执行此操作。如果有人有更好的解决方案,请分享,因为这是一个有点黑客,但它的工作正常。当karma coverage在我的环境中的html报告转到项目的根目录/coverage/文件夹时,我将递归文本替换到每个.html文件中,查找默认页脚并在其中添加我的版本信息 首先,安装grunt文本替换
$ npm install grunt-text-replace --save-dev
然后我在gruntfile.js中创建了以下替换函数:
grunt.initConfig({
replace: {
coverage: {
src: ['coverage/**/*.html'],
overwrite: true,
replacements: [
{
from: '<div class="meta">Generated by',
to: function(){return grunt.config.get('task.replace.versionString');}
}
]
}
},
// and your other stuff in initConfig()
grunt.initConfig({
替换:{
覆盖范围:{
src:['coverage/***/.html'],
改写:对,
替换:[
{
from:'由'',
to:function(){return grunt.config.get('task.replace.versionString');}
}
]
}
},
//以及initConfig()中的其他内容
为此,我在grunt中添加了一个新任务:
grunt.registerTask('coverage', 'Adds version info to coverage results', function(){
grunt.task.requires('version'); // The 'version' task creates a 'version.json' file
var vers = grunt.file.readJSON('version.json');
// Set the desired string to be used in text-replace -function
grunt.config.set('task.replace.versionString', '<div class="meta">Version ' + vers.version + ', Tag "' + vers.revision[0] + '"<br>Generated by');
grunt.task.run(['replace']);
});
grunt.registerTask('coverage','Addversioninfo to coverage results',function(){
grunt.task.requires('version');//version任务创建一个'version.json'文件
var vers=grunt.file.readJSON('version.json');
//设置要在文本替换-函数中使用的所需字符串
grunt.config.set('task.replace.versionString','Version'+vers.Version+',标记“'+vers.revision[0]+'”
生成者”);
run(['replace']);
});
有点难看,但很有魅力;-)