Как написать модульные тесты для плагина, который не пишет файлы?

Я создаю плагин grunt, который отвечает за поиск URL-адресов в файле и добавление этих URL-адресов в переменную в файле grunt, используя

grunt.config.set('urls', urls);

Все примеры модульного тестирования для плагинов Grunt предполагают, что плагин собирается записать файл, а затем сравнивает этот вывод с тестовым файлом с "ожидаемым" результатом.

Есть ли способ проверить, установил ли мой плагин Grunt переменную конфигурации?

2 ответа

Решение

Что-то вроде этого?

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();
}

Генератор Yo (*) для плагинов grunt в основном настраивает тесты так:

  1. Настройте свой Gruntconfig.js запустить ваш плагин с определенным testconfig
  2. Затем настройте тестовый запуск, создав тестовое задание: grunt.registerTask('test', ['myPlugin', 'nodeunit']);, Это означает, что ваш плагин должен установить значения конфигурации, с которыми вы хотите протестировать.
  3. Запустите тест как test.equal(grunt.config.get('urls'), 'http://foo.example.com', 'Should ...');

Генератор Йо поддерживается Адди Османи и Стивеном Соучуком, которые можно считать заслуживающими доверия источниками;-)

(*) npm install -g generator-gruntplugin

Другие вопросы по тегам