首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MSBuild中集成javascripts单元测试代码覆盖率

在MSBuild中集成javascripts单元测试代码覆盖率
EN

Stack Overflow用户
提问于 2016-08-09 12:46:45
回答 1查看 556关注 0票数 0

我使用Jasmine和Karma来编写单元测试和代码覆盖。我已经使用Gulp创建了任务,并在VS 2015更新3中通过任务运行资源管理器运行它们。

代码语言:javascript
复制
var gulp = require("gulp");
var Server = require('karma').Server;
var remapIstanbul = require('remap-istanbul/lib/gulpRemapIstanbul');

gulp.task('unit-tests', function (done) {
    new Server({
        configFile: __dirname + '/karma.conf.js'
    }, done).start();
});

gulp.task('code-coverage', function () {
    return gulp.src('_reports/coverage-javascript.json')
        .pipe(remapIstanbul({
            reports: {
                'json': '_reports/coverage-typescript.json',
                'html': '_reports/html-report'
            }
        }));
});

我想读取生成的html结果文件,即在门控构建或夜间构建期间从_reports/html-report/index.html文件读取。如果代码覆盖率低于80%,或者当测试失败时,我希望使用此代码覆盖率来执行某些操作,例如停止构建。

我怎么能这么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-11 10:25:59

我已经实现了一个解决方案,它在任何单元测试失败时都会失败MSBuild。基本上,我在我的'CompileTypeScript'文件中编写了一个自定义目标,该文件在project.csproj目标之后运行。

代码语言:javascript
复制
<PropertyGroup>
    <CompileDependsOn>
      $(CompileDependsOn);
      GulpBuild;
    </CompileDependsOn>
</PropertyGroup>
<Target Name="GulpBuild" DependsOnTargets="CompileTypeScript">
    <Exec Command="./node_modules/.bin/gulp task-name" />
</Target>

此任务将在Visual将TS编译为JS之后运行。在build 'Path‘变量中,没有为'gulp’设置变量,这就是为什么通过node_modules .bin文件夹传递命令的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38851178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档