Автономный Жасмин против Кармы - Жасмин
Я новичок в тестировании в целом и преподаю себе Jasmine. Я пытаюсь понять различия между запуском Jasmine и jQuery-Jasmine в Karma против запуска Jasmine само по себе. Учебники для Jasmine не учитывают настройки, которые необходимы, если вы используете Карму.
Может кто-нибудь объяснить мне, как Karma-Jasmine отличается в требованиях от автономного Жасмина? По-прежнему ли он нужен бегун спецификаций, и структура файлов остается прежней?
Я тестирую DOM-события - много обработчиков кликов - и не понимаю, как имитировать это. Может кто-нибудь изложить некоторые основные идеи? Если я хочу, например, проверить, что элемент p был добавлен в div после того, как пользователь нажмет кнопку, как это будет работать как в структуре файла, так и в функциях?
Спасибо.
Ответы
Ответ 1
Карма и Жасмин SpecRunner.html - оба тестовых бегуна (ака-спецы). Разница между ними заключается в том, что Karma - это приложение, которое работает за пределами браузера, в то время как SpecRunner - это обычный HTML файл с кучей ссылок script, которые вы открываете в браузере.
Тест-бегун, который живет за пределами браузера, дает вам ряд преимуществ:
Ответ 2
Я не использовал jasmine-jquery, но для тестов жасмина с кармой Karma использует karma.conf.js для обнаружения внешних зависимостей (например, jasmine-jquery). В частности, свойство файлов. Некоторые приятные примеры здесь Если вы используете тесты жасмина с помощью jasmine SpecRunner.html, вам нужно убедиться, что все, что вы используете, связано с SpecRunner.html с тегами script.
Что касается тестирования обработчиков кликов, одной хорошей ставкой может быть просто вызов функций обработчика кликов напрямую. Похоже, если вам нужно что-то более реалистичное, вы приближаетесь к функциональному тестированию. Для этого вы можете рассмотреть возможность включения nightmare для автоматизации пользовательских взаимодействий, таких как клики и т.д.