can not run unit test of gulp-mocha, istanbul
I am working on gulp-mocha and gulp-Istanbul but when I run command gulp mocha
the error coming up to screen. I am a new with the gulp and trying build a unit test in my project
here is my gulpfile.babel.js
import gulp from 'gulp';
import gulpLoadPlugins from 'gulp-load-plugins';
import path from 'path';
import del from 'del';
import runSequence from 'run-sequence';
import babelCompiler from 'babel-core/register';
import * as isparta from 'isparta';
import babel from 'gulp-babel';
const plugins = gulpLoadPlugins();
const paths = {
js: ['./**/*.js', '!dist/**', '!node_modules/**', '!coverage/**'],
nonJs: ['./package.json', './.gitignore', './**/*.ejs'],
tests: './server/tests/*.js'
};
const options = {
codeCoverage: {
reporters: ['lcov', 'text-summary'],
thresholds: {
global: {
statements: 50, branches: 50, functions: 50, lines: 50
}
}
}
};
// Clean up dist and coverage directory
gulp.task('clean', () =>
del(['dist/**', 'coverage/**', '!dist', '!coverage']));
// Set env variables
gulp.task('set-env', () => {
plugins.env({
vars: {
NODE_ENV: 'test'
}
});
});
// Lint Javascript
gulp.task('lint', () =>
gulp.src(paths.js)
// eslint() attaches the lint output to the "eslint" property
// of the file object so it can be used by other modules.
.pipe(plugins.eslint())
// eslint.format() outputs the lint results to the console.
// Alternatively use eslint.formatEach() (see Docs).
.pipe(plugins.eslint.format())
// To have the process exit with an error code (1) on
// lint error, return the stream and pipe to failAfterError last.
.pipe(plugins.eslint.failAfterError()));
// Copy non-js files to dist
gulp.task('copy', () =>
gulp.src(paths.nonJs)
.pipe(plugins.newer('dist'))
.pipe(gulp.dest('dist')));
// Compile ES6 to ES5 and copy to dist
gulp.task('babel', () =>
gulp.src([...paths.js, '!gulpfile.babel.js'], { base: '.' })
.pipe(plugins.newer('dist'))
.pipe(plugins.sourcemaps.init())
.pipe(babel())
.pipe(plugins.sourcemaps.write('.', {
includeContent: false,
sourceRoot(file) {
return path.relative(file.path, __dirname);
}
}))
.pipe(gulp.dest('dist')));
// Start server with restart on file changes
gulp.task('nodemon', ['copy', 'babel'], () =>
plugins.nodemon({
script: path.join('dist', 'index.js'),
ext: 'js',
ignore: ['node_modules/**/*.js', 'dist/**/*.js'],
tasks: ['copy', 'babel']
}));
// covers files for code coverage
gulp.task('pre-test', () =>
gulp.src([...paths.js, '!gulpfile.babel.js'])
// Covering files
.pipe(plugins.istanbul({
instrumenter: isparta.Instrumenter,
includeUntested: true
}))
// Force `require` to return covered files
.pipe(plugins.istanbul.hookRequire()));
// triggers mocha test with code coverage
gulp.task('test', ['pre-test', 'set-env'], () => {
let reporters;
let exitCode = 0;
if (plugins.util.env['code-coverage-reporter']) {
reporters = [...options.codeCoverage.reporters, plugins.util.env['code-coverage-reporter']];
} else {
reporters = options.codeCoverage.reporters;
}
return gulp.src([paths.tests], { read: false })
.pipe(plugins.plumber())
.pipe(plugins.mocha({
reporter: plugins.util.env['mocha-reporter'] || 'spec',
ui: 'bdd',
timeout: 11000,
compilers: {
js: babelCompiler,
}
}))
.once('error', (err) => {
plugins.util.log(err);
exitCode = 1;
})
// Creating the reports after execution of test cases
.pipe(plugins.istanbul.writeReports({
dir: './coverage',
reporters,
}))
// Enforce test coverage
.pipe(plugins.istanbul.enforceThresholds({
thresholds: options.codeCoverage.thresholds,
}))
.once('end', () => {
plugins.util.log('completed !!');
process.exit(exitCode);
});
});
// clean dist, compile js files, copy non-js files and execute tests
gulp.task('mocha', ['clean'], () => {
runSequence(
['copy', 'babel'],
'test',
);
});
// gulp serve for development
gulp.task('serve', ['clean'], () => runSequence('nodemon'));
// default task: clean dist, compile js files and copy non-js files.
gulp.task('default', ['clean'], () => {
runSequence(['copy', 'babel']);
});
and here is the error I am facing
I don't know why the error happens to me, can anyone suggest me a solution to fix this bug or explain why this happen
node.js unit-testing gulp mocha gulp-mocha
add a comment |
I am working on gulp-mocha and gulp-Istanbul but when I run command gulp mocha
the error coming up to screen. I am a new with the gulp and trying build a unit test in my project
here is my gulpfile.babel.js
import gulp from 'gulp';
import gulpLoadPlugins from 'gulp-load-plugins';
import path from 'path';
import del from 'del';
import runSequence from 'run-sequence';
import babelCompiler from 'babel-core/register';
import * as isparta from 'isparta';
import babel from 'gulp-babel';
const plugins = gulpLoadPlugins();
const paths = {
js: ['./**/*.js', '!dist/**', '!node_modules/**', '!coverage/**'],
nonJs: ['./package.json', './.gitignore', './**/*.ejs'],
tests: './server/tests/*.js'
};
const options = {
codeCoverage: {
reporters: ['lcov', 'text-summary'],
thresholds: {
global: {
statements: 50, branches: 50, functions: 50, lines: 50
}
}
}
};
// Clean up dist and coverage directory
gulp.task('clean', () =>
del(['dist/**', 'coverage/**', '!dist', '!coverage']));
// Set env variables
gulp.task('set-env', () => {
plugins.env({
vars: {
NODE_ENV: 'test'
}
});
});
// Lint Javascript
gulp.task('lint', () =>
gulp.src(paths.js)
// eslint() attaches the lint output to the "eslint" property
// of the file object so it can be used by other modules.
.pipe(plugins.eslint())
// eslint.format() outputs the lint results to the console.
// Alternatively use eslint.formatEach() (see Docs).
.pipe(plugins.eslint.format())
// To have the process exit with an error code (1) on
// lint error, return the stream and pipe to failAfterError last.
.pipe(plugins.eslint.failAfterError()));
// Copy non-js files to dist
gulp.task('copy', () =>
gulp.src(paths.nonJs)
.pipe(plugins.newer('dist'))
.pipe(gulp.dest('dist')));
// Compile ES6 to ES5 and copy to dist
gulp.task('babel', () =>
gulp.src([...paths.js, '!gulpfile.babel.js'], { base: '.' })
.pipe(plugins.newer('dist'))
.pipe(plugins.sourcemaps.init())
.pipe(babel())
.pipe(plugins.sourcemaps.write('.', {
includeContent: false,
sourceRoot(file) {
return path.relative(file.path, __dirname);
}
}))
.pipe(gulp.dest('dist')));
// Start server with restart on file changes
gulp.task('nodemon', ['copy', 'babel'], () =>
plugins.nodemon({
script: path.join('dist', 'index.js'),
ext: 'js',
ignore: ['node_modules/**/*.js', 'dist/**/*.js'],
tasks: ['copy', 'babel']
}));
// covers files for code coverage
gulp.task('pre-test', () =>
gulp.src([...paths.js, '!gulpfile.babel.js'])
// Covering files
.pipe(plugins.istanbul({
instrumenter: isparta.Instrumenter,
includeUntested: true
}))
// Force `require` to return covered files
.pipe(plugins.istanbul.hookRequire()));
// triggers mocha test with code coverage
gulp.task('test', ['pre-test', 'set-env'], () => {
let reporters;
let exitCode = 0;
if (plugins.util.env['code-coverage-reporter']) {
reporters = [...options.codeCoverage.reporters, plugins.util.env['code-coverage-reporter']];
} else {
reporters = options.codeCoverage.reporters;
}
return gulp.src([paths.tests], { read: false })
.pipe(plugins.plumber())
.pipe(plugins.mocha({
reporter: plugins.util.env['mocha-reporter'] || 'spec',
ui: 'bdd',
timeout: 11000,
compilers: {
js: babelCompiler,
}
}))
.once('error', (err) => {
plugins.util.log(err);
exitCode = 1;
})
// Creating the reports after execution of test cases
.pipe(plugins.istanbul.writeReports({
dir: './coverage',
reporters,
}))
// Enforce test coverage
.pipe(plugins.istanbul.enforceThresholds({
thresholds: options.codeCoverage.thresholds,
}))
.once('end', () => {
plugins.util.log('completed !!');
process.exit(exitCode);
});
});
// clean dist, compile js files, copy non-js files and execute tests
gulp.task('mocha', ['clean'], () => {
runSequence(
['copy', 'babel'],
'test',
);
});
// gulp serve for development
gulp.task('serve', ['clean'], () => runSequence('nodemon'));
// default task: clean dist, compile js files and copy non-js files.
gulp.task('default', ['clean'], () => {
runSequence(['copy', 'babel']);
});
and here is the error I am facing
I don't know why the error happens to me, can anyone suggest me a solution to fix this bug or explain why this happen
node.js unit-testing gulp mocha gulp-mocha
add a comment |
I am working on gulp-mocha and gulp-Istanbul but when I run command gulp mocha
the error coming up to screen. I am a new with the gulp and trying build a unit test in my project
here is my gulpfile.babel.js
import gulp from 'gulp';
import gulpLoadPlugins from 'gulp-load-plugins';
import path from 'path';
import del from 'del';
import runSequence from 'run-sequence';
import babelCompiler from 'babel-core/register';
import * as isparta from 'isparta';
import babel from 'gulp-babel';
const plugins = gulpLoadPlugins();
const paths = {
js: ['./**/*.js', '!dist/**', '!node_modules/**', '!coverage/**'],
nonJs: ['./package.json', './.gitignore', './**/*.ejs'],
tests: './server/tests/*.js'
};
const options = {
codeCoverage: {
reporters: ['lcov', 'text-summary'],
thresholds: {
global: {
statements: 50, branches: 50, functions: 50, lines: 50
}
}
}
};
// Clean up dist and coverage directory
gulp.task('clean', () =>
del(['dist/**', 'coverage/**', '!dist', '!coverage']));
// Set env variables
gulp.task('set-env', () => {
plugins.env({
vars: {
NODE_ENV: 'test'
}
});
});
// Lint Javascript
gulp.task('lint', () =>
gulp.src(paths.js)
// eslint() attaches the lint output to the "eslint" property
// of the file object so it can be used by other modules.
.pipe(plugins.eslint())
// eslint.format() outputs the lint results to the console.
// Alternatively use eslint.formatEach() (see Docs).
.pipe(plugins.eslint.format())
// To have the process exit with an error code (1) on
// lint error, return the stream and pipe to failAfterError last.
.pipe(plugins.eslint.failAfterError()));
// Copy non-js files to dist
gulp.task('copy', () =>
gulp.src(paths.nonJs)
.pipe(plugins.newer('dist'))
.pipe(gulp.dest('dist')));
// Compile ES6 to ES5 and copy to dist
gulp.task('babel', () =>
gulp.src([...paths.js, '!gulpfile.babel.js'], { base: '.' })
.pipe(plugins.newer('dist'))
.pipe(plugins.sourcemaps.init())
.pipe(babel())
.pipe(plugins.sourcemaps.write('.', {
includeContent: false,
sourceRoot(file) {
return path.relative(file.path, __dirname);
}
}))
.pipe(gulp.dest('dist')));
// Start server with restart on file changes
gulp.task('nodemon', ['copy', 'babel'], () =>
plugins.nodemon({
script: path.join('dist', 'index.js'),
ext: 'js',
ignore: ['node_modules/**/*.js', 'dist/**/*.js'],
tasks: ['copy', 'babel']
}));
// covers files for code coverage
gulp.task('pre-test', () =>
gulp.src([...paths.js, '!gulpfile.babel.js'])
// Covering files
.pipe(plugins.istanbul({
instrumenter: isparta.Instrumenter,
includeUntested: true
}))
// Force `require` to return covered files
.pipe(plugins.istanbul.hookRequire()));
// triggers mocha test with code coverage
gulp.task('test', ['pre-test', 'set-env'], () => {
let reporters;
let exitCode = 0;
if (plugins.util.env['code-coverage-reporter']) {
reporters = [...options.codeCoverage.reporters, plugins.util.env['code-coverage-reporter']];
} else {
reporters = options.codeCoverage.reporters;
}
return gulp.src([paths.tests], { read: false })
.pipe(plugins.plumber())
.pipe(plugins.mocha({
reporter: plugins.util.env['mocha-reporter'] || 'spec',
ui: 'bdd',
timeout: 11000,
compilers: {
js: babelCompiler,
}
}))
.once('error', (err) => {
plugins.util.log(err);
exitCode = 1;
})
// Creating the reports after execution of test cases
.pipe(plugins.istanbul.writeReports({
dir: './coverage',
reporters,
}))
// Enforce test coverage
.pipe(plugins.istanbul.enforceThresholds({
thresholds: options.codeCoverage.thresholds,
}))
.once('end', () => {
plugins.util.log('completed !!');
process.exit(exitCode);
});
});
// clean dist, compile js files, copy non-js files and execute tests
gulp.task('mocha', ['clean'], () => {
runSequence(
['copy', 'babel'],
'test',
);
});
// gulp serve for development
gulp.task('serve', ['clean'], () => runSequence('nodemon'));
// default task: clean dist, compile js files and copy non-js files.
gulp.task('default', ['clean'], () => {
runSequence(['copy', 'babel']);
});
and here is the error I am facing
I don't know why the error happens to me, can anyone suggest me a solution to fix this bug or explain why this happen
node.js unit-testing gulp mocha gulp-mocha
I am working on gulp-mocha and gulp-Istanbul but when I run command gulp mocha
the error coming up to screen. I am a new with the gulp and trying build a unit test in my project
here is my gulpfile.babel.js
import gulp from 'gulp';
import gulpLoadPlugins from 'gulp-load-plugins';
import path from 'path';
import del from 'del';
import runSequence from 'run-sequence';
import babelCompiler from 'babel-core/register';
import * as isparta from 'isparta';
import babel from 'gulp-babel';
const plugins = gulpLoadPlugins();
const paths = {
js: ['./**/*.js', '!dist/**', '!node_modules/**', '!coverage/**'],
nonJs: ['./package.json', './.gitignore', './**/*.ejs'],
tests: './server/tests/*.js'
};
const options = {
codeCoverage: {
reporters: ['lcov', 'text-summary'],
thresholds: {
global: {
statements: 50, branches: 50, functions: 50, lines: 50
}
}
}
};
// Clean up dist and coverage directory
gulp.task('clean', () =>
del(['dist/**', 'coverage/**', '!dist', '!coverage']));
// Set env variables
gulp.task('set-env', () => {
plugins.env({
vars: {
NODE_ENV: 'test'
}
});
});
// Lint Javascript
gulp.task('lint', () =>
gulp.src(paths.js)
// eslint() attaches the lint output to the "eslint" property
// of the file object so it can be used by other modules.
.pipe(plugins.eslint())
// eslint.format() outputs the lint results to the console.
// Alternatively use eslint.formatEach() (see Docs).
.pipe(plugins.eslint.format())
// To have the process exit with an error code (1) on
// lint error, return the stream and pipe to failAfterError last.
.pipe(plugins.eslint.failAfterError()));
// Copy non-js files to dist
gulp.task('copy', () =>
gulp.src(paths.nonJs)
.pipe(plugins.newer('dist'))
.pipe(gulp.dest('dist')));
// Compile ES6 to ES5 and copy to dist
gulp.task('babel', () =>
gulp.src([...paths.js, '!gulpfile.babel.js'], { base: '.' })
.pipe(plugins.newer('dist'))
.pipe(plugins.sourcemaps.init())
.pipe(babel())
.pipe(plugins.sourcemaps.write('.', {
includeContent: false,
sourceRoot(file) {
return path.relative(file.path, __dirname);
}
}))
.pipe(gulp.dest('dist')));
// Start server with restart on file changes
gulp.task('nodemon', ['copy', 'babel'], () =>
plugins.nodemon({
script: path.join('dist', 'index.js'),
ext: 'js',
ignore: ['node_modules/**/*.js', 'dist/**/*.js'],
tasks: ['copy', 'babel']
}));
// covers files for code coverage
gulp.task('pre-test', () =>
gulp.src([...paths.js, '!gulpfile.babel.js'])
// Covering files
.pipe(plugins.istanbul({
instrumenter: isparta.Instrumenter,
includeUntested: true
}))
// Force `require` to return covered files
.pipe(plugins.istanbul.hookRequire()));
// triggers mocha test with code coverage
gulp.task('test', ['pre-test', 'set-env'], () => {
let reporters;
let exitCode = 0;
if (plugins.util.env['code-coverage-reporter']) {
reporters = [...options.codeCoverage.reporters, plugins.util.env['code-coverage-reporter']];
} else {
reporters = options.codeCoverage.reporters;
}
return gulp.src([paths.tests], { read: false })
.pipe(plugins.plumber())
.pipe(plugins.mocha({
reporter: plugins.util.env['mocha-reporter'] || 'spec',
ui: 'bdd',
timeout: 11000,
compilers: {
js: babelCompiler,
}
}))
.once('error', (err) => {
plugins.util.log(err);
exitCode = 1;
})
// Creating the reports after execution of test cases
.pipe(plugins.istanbul.writeReports({
dir: './coverage',
reporters,
}))
// Enforce test coverage
.pipe(plugins.istanbul.enforceThresholds({
thresholds: options.codeCoverage.thresholds,
}))
.once('end', () => {
plugins.util.log('completed !!');
process.exit(exitCode);
});
});
// clean dist, compile js files, copy non-js files and execute tests
gulp.task('mocha', ['clean'], () => {
runSequence(
['copy', 'babel'],
'test',
);
});
// gulp serve for development
gulp.task('serve', ['clean'], () => runSequence('nodemon'));
// default task: clean dist, compile js files and copy non-js files.
gulp.task('default', ['clean'], () => {
runSequence(['copy', 'babel']);
});
and here is the error I am facing
I don't know why the error happens to me, can anyone suggest me a solution to fix this bug or explain why this happen
node.js unit-testing gulp mocha gulp-mocha
node.js unit-testing gulp mocha gulp-mocha
asked Nov 14 '18 at 5:02
beginerdeveloperbeginerdeveloper
2791626
2791626
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53293471%2fcan-not-run-unit-test-of-gulp-mocha-istanbul%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53293471%2fcan-not-run-unit-test-of-gulp-mocha-istanbul%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown