我想在Grunt构建中为node.js模块运行一些Jasmine 2.x测试。我的设置如下:
的src / foo.js
exports.bar = 23;
规格/ foo.spec.js
var foo = require("../src/foo.js");
define("foo", function() {
it("exports bar as 23", function() {
expect(foo.bar).toBe(23);
});
});
使用grunt-contrib-jasmine节点模块系统不可用,我得到了
>> ReferenceError: Can't find variable: require at
>> spec/foo.spec.js:1
有grunt-jasmine-node,但它取决于jasmine-node,它不受维护,包含Jasmine 1.3.1,所以这不是一个选项。
Jasmine supports node.js out of the box,通过在jasmine.json
目录中包含文件spec
,我可以使用jasmine
cli运行测试。是否还有 clean 方式从grunt运行相同的测试?
答案 0 :(得分:2)
您可以使用grunt-exec,它只是像在命令行上输入一样执行值:
module.exports = function (grunt) {
grunt.initConfig({
exec: {
jasmine: "jasmine"
},
env: {
test: {
NODE_ENV: "test"
}
}
});
grunt.loadNpmTasks("grunt-exec");
grunt.loadNpmTasks("grunt-env");
grunt.registerTask("test", [
"env:test",
"exec:jasmine"
]);
};
这将使您可以使茉莉花保持最新,并将其与其他grunt任务一起使用。