Как написать модульные тесты для плагина, который не пишет файлы?
Я создаю плагин 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 в основном настраивает тесты так:
- Настройте свой
Gruntconfig.js
запустить ваш плагин с определенным testconfig - Затем настройте тестовый запуск, создав тестовое задание:
grunt.registerTask('test', ['myPlugin', 'nodeunit']);
, Это означает, что ваш плагин должен установить значения конфигурации, с которыми вы хотите протестировать. - Запустите тест как
test.equal(grunt.config.get('urls'), 'http://foo.example.com', 'Should ...');
Генератор Йо поддерживается Адди Османи и Стивеном Соучуком, которые можно считать заслуживающими доверия источниками;-)
(*) npm install -g generator-gruntplugin