如何从 grunt 为节点模块执行茉莉花测试
How to execute jasmine tests for node modules from grunt
我想 运行 在 G运行t 构建中对 node.js 模块进行一些 Jasmine 2.x 测试。我的设置如下所示:
src/foo.js
exports.bar = 23;
spec/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, but it depends on jasmine-node 未维护且包含 Jasmine 1.3.1,因此这不是一个选项。
Jasmine supports node.js out of the box,通过在 spec
目录中包含一个文件 jasmine.json
,我可以 运行 使用 jasmine
cli 进行测试。是否有任何 clean 方法来 运行 来自 g运行t 的相同测试?
您可以使用 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"
]);
};
这将使您能够使 jasmine 保持最新,并将其用于其他 grunt 任务。
我想 运行 在 G运行t 构建中对 node.js 模块进行一些 Jasmine 2.x 测试。我的设置如下所示:
src/foo.js
exports.bar = 23;
spec/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, but it depends on jasmine-node 未维护且包含 Jasmine 1.3.1,因此这不是一个选项。
Jasmine supports node.js out of the box,通过在 spec
目录中包含一个文件 jasmine.json
,我可以 运行 使用 jasmine
cli 进行测试。是否有任何 clean 方法来 运行 来自 g运行t 的相同测试?
您可以使用 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"
]);
};
这将使您能够使 jasmine 保持最新,并将其用于其他 grunt 任务。