如何设置Karma来运行我的后端单元测试(用Mocha编写)?如果我将后端测试脚本添加到files = []
,则无法说明require
未定义。
答案 0 :(得分:81)
你没有。 Karma仅用于测试基于浏览器的代码。如果你有一个项目在后端使用mocha测试,在前端使用karma / mocha,请尝试在脚本下编辑package.json,将test设置为:mocha -R spec && karma run karma.con
然后,如果npm test
返回true,您将知道提交或部署是安全的。
答案 1 :(得分:15)
似乎无法完成(感谢@dankohn)。以下是我使用Grunt的解决方案:
Karma:更新你的karma.conf.js文件
autoWatch = false;
singleRun = true;
browsers = ['PhantomJS'];
(以获得内联结果)Grunt:
npm install grunt-contrib-watch grunt-simple-mocha grunt-karma
<强> Gruntfile.js:强>
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-simple-mocha');
grunt.loadNpmTasks('grunt-karma');
grunt.initConfig({
simplemocha: {
backend: {
src: 'test/server-tests.js'
}
},
karma: {
unit: {
configFile: 'karma.conf.js'
}
}
});
// Default task.
grunt.registerTask('default', ['simplemocha', 'karma']);
};
Grunt(可选):设置grunt-watch以开始测试更改测试文件或规格本身。
使用grunt
命令运行全部。