gpt4 book ai didi

javascript - 如何从 grunt 为 Node 模块执行 Jasmine 测试

转载 作者:行者123 更新时间:2023-11-30 16:52:16 28 4
gpt4 key购买 nike

我想在 Grunt 构建中为 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 Node 模块系统不可用,我明白了

>> 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 ,通过在 spec 目录中包含文件 jasmine.json,我可以使用 jasmine cli 运行测试。是否有任何干净的方法也可以从 grunt 运行相同的测试?

最佳答案

你可以使用 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 任务。

关于javascript - 如何从 grunt 为 Node 模块执行 Jasmine 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30346010/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com