如何为不写文件的grunt插件编写单元测试?

时间:2014-02-18 10:29:05

标签: javascript unit-testing plugins gruntjs grunt-plugins

我正在创建一个grunt插件,负责查找文件中的URL并使用

将这些URL添加到grunt文件中的变量
grunt.config.set('urls', urls);

Grunt插件的单元测试的所有示例都假设插件将写入一个文件,然后将该输出与具有“预期”结果的测试文件进行比较。

有没有办法测试我的Grunt插件是否设置了配置变量?

2 个答案:

答案 0 :(得分:1)

这样的东西?

urlConfigTest: function(test) {
    test.expect(1);
    grunt.config.set('urls','http://foo.example.com');
    test.equal(grunt.config.get('urls'), 'http://foo.example.com', 'Should set foo to the grunt configuration.');
    test.done();
}

答案 1 :(得分:1)

grunt-plugins的Yo生成器(*)基本上基本上是设置这样的测试:

  1. 设置您的Gruntconfig.js以使用特定的testconfig运行您的插件
  2. 然后通过创建测试任务来配置testrun:grunt.registerTask('test', ['myPlugin', 'nodeunit']);。这意味着您的插件应该设置您要测试的配置值。
  3. test.equal(grunt.config.get('urls'), 'http://foo.example.com', 'Should ...');
  4. 一样运行测试

    Yo发电机由Addy Osmani和Stephen Sawchuck维护,可能被视为可靠来源; - )

    (*)npm install -g generator-gruntplugin