【发布时间】:2014-06-17 19:57:59
【问题描述】:
我想在我的 SailsJS 项目中添加测试,Mocha 很常见,所以我决定使用它。
我配置并注册了 grunt-mocha-test 以在“默认”任务触发器 (tasks/register/default.js) 运行时运行我的测试,但它没有运行任何东西!
如何在 SailsJS 中正确配置和设置 Mocha 以使用 grunt 自动运行?
是否可以手动运行测试?
这是我所做的:
1) 安装测试包 npm install mocha --save-dev npm install grunt-mocha-test --save-dev npm install sinon --save-dev npm install assert --save-dev
3) 添加文件tasks/config/mocha-test.js
module.exports = function(grunt) {
grunt.config.set('mochaTest', {
test: {
options: {
reporter: 'spec'
},
src: ['tests/**/*.spec.js']
}
}),
grunt.loadNpmTasks('grunt-mocha-test');
};
**3) 在 tasks/register/default.js 中注册的任务 **
module.exports = function (grunt) {
grunt.registerTask('default', ['compileAssets', 'linkAssets', 'watch', 'mochaTest']);
};
2) 在应用根目录中创建测试文件夹
测试/控制器/session.spec.js
var SessionController = require('../../api/controllers/SessionController'),
sinon = require('sinon'),
assert = require('assert');
console.log('SessionController: ', SessionController);
describe('The SessionController', function () {
describe('When we load the signIn page', function () {
it ('should render the view', function () {
var view = sinon.spy();
SessionController.index(null, {
view: view
});
assert.ok(view.called);
});
});
});
【问题讨论】: