在测试中配置单独的Grunt实例

时间:2014-02-22 12:57:21

标签: javascript node.js gruntjs integration-testing

我一直在写一个小的grunt插件,现在我被困在尝试端到端测试插件。我想要完成的是这个

  • 编写一个测试用例,为我的插件配置一个带有最小grunt配置的grunt实例并运行该任务
  • 测试生成的文件是否等于预期输出
  • 运行grunt nodeunit
  • 时自动运行该测试

到目前为止,我似乎一直在配置单个Grunt实例,因为新实例似乎与已经加载的Grunt实例共享配置。

我的plugin_test.js

中有类似的内容
var testGrunt = require('grunt');

exports.codekit = {
    setUp: function(done) {

        testGrunt.initConfig({
          myPlugin : {
            // the config
          }
        });

        testGrunt.task.run(['myPlugin']);
        done();
    },

    basic_parsing_works: function(test) {
      test.expect(1); // no idea what this does

      test.equal(1,1,'basic test');
      //var actual = testGrunt.file.read('tmp/test01_result.html');
      //var expected = testGrunt.file.read('expected/test01_expected.html');
      //test.equal(actual, expected, 'should parse file.');

      test.done();
    }
};

问题是,当我为myPlugin运行任务时,它使用在“外部”(已经运行的)Grunt实例中加载的配置。即使我已经使用不同的名称(testGrunt)专门创建了一个新的Grunt实例。

有没有办法避免这种情况?

0 个答案:

没有答案