Angular методы тестирования Жасмин против кармы против транспортира в Angular 2?

Я новичок в тестировании angular. Может ли кто-нибудь рассказать мне о различии между этими тремя методами?

Ответ 1

Jasmine - это основанная на поведении среда разработки для тестирования кода JavaScript. Это не зависит от других JavaScript-фреймворков. Это не требует DOM. И у него чистый, очевидный синтаксис, так что вы можете легко писать тесты.

По сути, Karma - это инструмент для тестирования, который порождает веб-сервер, который выполняет исходный код в сравнении с тестовым кодом для каждого из подключенных браузеров. Результаты каждого теста для каждого браузера проверяются и отображаются в командной строке для разработчика, чтобы они могли видеть, какие браузеры и тесты пройдены или не пройдены.

Жасмин и Карма обычно используются вместе для выполнения модульного тестирования или интеграционного тестирования.

Protractor - это комплексная тестовая среда для приложений Angular и AngularJS. Protractor запускает тесты для вашего приложения, работающего в реальном браузере, взаимодействуя с ним, как пользователь, независимо от других инструментов, выполняющих то же самое. Проверьте, как это работает здесь.

Рекомендации:

Жасмин Документация

Карма - Как это работает?

Транспортир

Ответ 2

Карма - испытательный бегун, как хрюканье и gulp Жасмин - основа BDD для тестирования

Вы можете написать ожидания, то есть тесты в жасмине, и запустить его с помощью Кармы.

Транспортир делает это и для вас.

Ответ 3

Транспортир - это обертка Селена, это не сама тестовая рама. Транспортир включает Jasmine, см. Conf.js на официальная страница

exports.config = {
  framework: 'jasmine',
  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs: ['spec.js']
}