Автономный Жасмин против Кармы - Жасмин

Я новичок в тестировании в целом и преподаю себе 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 для автоматизации пользовательских взаимодействий, таких как клики и т.д.