如何从grunt执行节点模块的茉莉花testing

我想在Grunt构build中为node.js模块运行一些Jasmine 2.xtesting。 我的设置看起来像这样:

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通过在spec目录中包含一个jasmine.json文件jasmine.json 支持node.js ,我可以用jasmine cli运行testing。 有没有干净的方式来运行从咕噜同样的testing呢?

你可以使用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" ]); }; 

这将允许你保持茉莉花最新,以及与其他咕噜任务使用它。