当测试失败时,我需要查看堆栈跟踪,但是当Grunt运行Mocha测试套件时,某些东西会隐藏它。当我自己运行测试(mocha --recursive
)时,我确实得到了堆栈跟踪:
site/server/server.js:10
server.use( express.static( path.join( __dirname( '../client' ))));
^
TypeError: string is not a function
at ...
但是有了这个Gruntfile:
'use strict';
var should = require( 'should' );
module.exports = function( grunt ) {
grunt.initConfig({
cafemocha: {
test: {
src: 'server/test/**/test-*.js',
options: {/*
ui: 'bdd',
growl: true,
coverage: true,
reporter: 'spec'
*/}
}
},
watch: {
files: [
'server/**/*.js',
'Gruntfile.js',
'package.json'
],
tasks: [ 'test' ]
},
complexity: {
generic: {
src: [
'server/**/*.js',
'Gruntfile.js'
],
options: {
cyclomatic: 2,
halstead: 9,
maintainability: 80
}
}
}
});
grunt.loadNpmTasks( 'grunt-notify' );
grunt.loadNpmTasks( 'grunt-contrib-watch' );
grunt.loadNpmTasks( 'grunt-cafe-mocha' );
grunt.loadNpmTasks( 'grunt-complexity' );
grunt.registerTask( 'default', [ 'cafemocha' ]);
grunt.registerTask( 'test', [ 'cafemocha', 'complexity' ]);
};
我得到的只是一个错误摘要:
$ grunt test
Running "cafemocha:test" (cafemocha) task
Warning: string is not a function Use --force to continue.
Aborted due to warnings.
最佳答案
默认情况下,堆栈跟踪在grunt中是隐藏的。用grunt --stack
运行grunt来显示它们。
关于gruntjs - 从Grunt任务运行Mocha时,堆栈跟踪被隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18525883/