Gulp mocha istanbul 免费获得 100%
Gulp mocha istanbul get 100% for nothing
我使用以下代码,它能够生成 mocha 测试(套件和测试)报告,如 预期 但我看不到 伊斯坦布尔的 mocha 测试覆盖率 我在这里错过了什么?
gulp.task('test', function () {
gulp.src(['./assets/**/js/*.js'])//Here I took it from the repo
.pipe(istanbul())
.pipe(tap(function (f) {
require(f.path);
}))
.on('end', function () {
gulp.src(['test/*spec.js'])//this is the path for my tests
.pipe(mocha({
reporter: 'mochawesome'
}))
.pipe(istanbul.writeReports(
['unit-test-coverage']
));
});
});
以下不会生成任何内容
.pipe(istanbul.writeReports(
['unit-test-coverage']
));
我的项目如下所示
my app
-server.js
-app.js
-contoller
--file1.js
--file2.js
-test
spec1.js
spec2.js
-gulpfile.js
- 我应该在这里放什么?
gulp.src(['./assets/**/js/*.js']) ?
- 我应该如何采用我的代码才能使其正常工作?
我使用以下
https://github.com/SBoudrias/gulp-istanbul
和 gulp 摩卡咖啡
https://www.npmjs.com/package/gulp-mocha
这就是我得到的代码是运行ning
19 传球(15 秒)
[mochawesome] Report saved to mochawesome-reports/mochawesome.html
----------|----------|----------|----------|----------|----------------|
File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines |
----------|----------|----------|----------|----------|----------------|
----------|----------|----------|----------|----------|----------------|
All files | 100 | 100 | 100 | 100 | |
----------|----------|----------|----------|----------|----------------|
=============================== Coverage summary ===============================
Statements : 100% ( 0/0 )
Branches : 100% ( 0/0 )
Functions : 100% ( 0/0 )
Lines : 100% ( 0/0 )
================================================================================
更新
当我执行以下操作时,它会生成一份报告,但覆盖率似乎很高,因为我获得了所有测试的 100%(我希望 :-)),知道我在这里错过了什么吗?
由于 mocha 单元测试 运行 只是代码覆盖率不佳
.pipe(istanbul.writeReports({
dir: './assets/unit-test-coverage',
reporters: ['html'],
reportOpts: {dir: './unit-test-coverage'}
}));
更新 2
我在 GRUNT 中构建了相同的内容(因为我在这里迷路了 :-( ) 并且这是有效的!!!!!
但我仍然想让它在 Gulp 中工作,请帮忙!
我尝试分离所有依赖项并创建这个小 gulp 文件和 运行
就这样,还是一样的问题
这是新文件,我使用不同的技术但结果相同:(
var gulp = require('gulp');
var istanbul = require('gulp-istanbul');
var mocha = require('gulp-mocha');
gulp.task('pre-test', function () {
return gulp.src(['./assets/**/js/*.js'])
// Covering files
.pipe(istanbul(
{includeUntested: true}
))
.pipe(istanbul.hookRequire());
});
gulp.task('test', ['pre-test'], function () {
return gulp.src(['test/*spec.js'])
.pipe(mocha({
reporter: 'mochawesome'
}))
// Creating the reports after tests ran
.pipe(istanbul.writeReports({
dir: './assets/unit-test-coverage',
reporters: ['html'],
reportOpts: {dir: './unit-test-coverage'}
}))
.pipe(istanbul.enforceThresholds({thresholds: {global: 90}}));
});
gulp.task('default', [ 'test']);
我在这里错过了什么?测试文件 运行ning OK 只是覆盖范围...
如评论中所述。
您似乎没有 assets
文件夹。至少 "My project look like following" 没有。尝试
return gulp
// all js files from cwd excluding test folder and gulpfile
.src(['./**/*.js', '!test/', '!gulpfile.js'])
.pipe(istanbul(...))
我使用以下代码,它能够生成 mocha 测试(套件和测试)报告,如 预期 但我看不到 伊斯坦布尔的 mocha 测试覆盖率 我在这里错过了什么?
gulp.task('test', function () {
gulp.src(['./assets/**/js/*.js'])//Here I took it from the repo
.pipe(istanbul())
.pipe(tap(function (f) {
require(f.path);
}))
.on('end', function () {
gulp.src(['test/*spec.js'])//this is the path for my tests
.pipe(mocha({
reporter: 'mochawesome'
}))
.pipe(istanbul.writeReports(
['unit-test-coverage']
));
});
});
以下不会生成任何内容
.pipe(istanbul.writeReports(
['unit-test-coverage']
));
我的项目如下所示
my app
-server.js
-app.js
-contoller
--file1.js
--file2.js
-test
spec1.js
spec2.js
-gulpfile.js
- 我应该在这里放什么? gulp.src(['./assets/**/js/*.js']) ?
- 我应该如何采用我的代码才能使其正常工作?
我使用以下 https://github.com/SBoudrias/gulp-istanbul 和 gulp 摩卡咖啡 https://www.npmjs.com/package/gulp-mocha
这就是我得到的代码是运行ning
19 传球(15 秒)
[mochawesome] Report saved to mochawesome-reports/mochawesome.html
----------|----------|----------|----------|----------|----------------|
File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines |
----------|----------|----------|----------|----------|----------------|
----------|----------|----------|----------|----------|----------------|
All files | 100 | 100 | 100 | 100 | |
----------|----------|----------|----------|----------|----------------|
=============================== Coverage summary ===============================
Statements : 100% ( 0/0 )
Branches : 100% ( 0/0 )
Functions : 100% ( 0/0 )
Lines : 100% ( 0/0 )
================================================================================
更新 当我执行以下操作时,它会生成一份报告,但覆盖率似乎很高,因为我获得了所有测试的 100%(我希望 :-)),知道我在这里错过了什么吗? 由于 mocha 单元测试 运行 只是代码覆盖率不佳
.pipe(istanbul.writeReports({
dir: './assets/unit-test-coverage',
reporters: ['html'],
reportOpts: {dir: './unit-test-coverage'}
}));
更新 2
我在 GRUNT 中构建了相同的内容(因为我在这里迷路了 :-( ) 并且这是有效的!!!!!
但我仍然想让它在 Gulp 中工作,请帮忙!
我尝试分离所有依赖项并创建这个小 gulp 文件和 运行 就这样,还是一样的问题
这是新文件,我使用不同的技术但结果相同:(
var gulp = require('gulp');
var istanbul = require('gulp-istanbul');
var mocha = require('gulp-mocha');
gulp.task('pre-test', function () {
return gulp.src(['./assets/**/js/*.js'])
// Covering files
.pipe(istanbul(
{includeUntested: true}
))
.pipe(istanbul.hookRequire());
});
gulp.task('test', ['pre-test'], function () {
return gulp.src(['test/*spec.js'])
.pipe(mocha({
reporter: 'mochawesome'
}))
// Creating the reports after tests ran
.pipe(istanbul.writeReports({
dir: './assets/unit-test-coverage',
reporters: ['html'],
reportOpts: {dir: './unit-test-coverage'}
}))
.pipe(istanbul.enforceThresholds({thresholds: {global: 90}}));
});
gulp.task('default', [ 'test']);
我在这里错过了什么?测试文件 运行ning OK 只是覆盖范围...
如评论中所述。
您似乎没有 assets
文件夹。至少 "My project look like following" 没有。尝试
return gulp
// all js files from cwd excluding test folder and gulpfile
.src(['./**/*.js', '!test/', '!gulpfile.js'])
.pipe(istanbul(...))