AngularJS Тестирование: Транспортир, Карма, Жасмин в приложении Yeoman

Я использую этот генератор йома: https://github.com/Swiip/generator-gulp-angular

Он устанавливает три тестовых приложения: Жасмин, Карма, Транспортир Согласно этой статье (Должен ли я использовать Protractor или Karma для моего сквозного тестирования?), я должен использовать: Karma для небольших тестов, например. один контроллер. Protactor, если я хочу протестировать все приложение и смоделировать пользователя, просматривающего мое приложение. Согласно этому блогу (http://andyshora.com/unit-testing-best-practices-angularjs.html), я бы использовал Jasmine для модульного тестирования и Karma для сквозных тестов интеграции.

Я думаю, что Jasmine - это язык, на котором написаны тесты, а остальные два выполняют код, это правильно? Кроме того, если я никогда не писал тест, который более важно изучить сначала/сосредоточиться?

Ответы

Ответ 1

Карма - испытатель, поэтому он запускает ваш тест. Jasmine - это основа, которая позволяет вам писать тест

По моему мнению, в Angularjs вы:

  • должны услуги unit-test, так как ваш бизнес-код существует.
  • должен unit-test controller, потому что есть действия пользователей.
  • может настраивать пользовательские директивы unit-test (если вы планируете поделиться этой директивой с другими, должен)

Транспортир предназначен для тестирования E2E (тестирует навигацию как настоящий пользователь). Он сочетает в себе WebDriverJS с Jasmine и позволяет вам писать сквозные тесты (имитируйте реальный браузер и предпринимайте реальные действия) с синтаксисом Jasmine.

Такой тест также очень важен в веб-приложении.

Вы не должны тестировать все, особенно в начале проекта, те тесты обычно приходят с высоким уровнем обслуживания (т.е. при изменении экрана вам может потребоваться изменить тест).

Что я делаю, это проверить критический путь и функции. Я сделал приложение для чтения, поэтому в моем случае это был вход в систему, регистрация, оплата, доступ к книге и доступ к читателю.