Внедрение e2e- и unit-тестов в сборку AngularJS-приложения: Protractor, Karma и gulp

Допустим, у нас уже есть сборка проекта на gulp.
И нужно добавить в процедуру сборки релиза e2e-тесты на protractor.

Добавляем в зависимости protractor и gulp-protractor.

gulp/package.json

gulp/gulpfile.js

<путь к e2e-тестам>protractor_config.js

<путь к e2e-тестам>tests/spec.js

<путь к unit-тестам>karma_config.js

<путь к unit-тестам>tests/spec.js

После чего в консоли

Это запустит webdriver-update, который скажет, куда поставил selenium, например:

Есть большая вероятность, что путь не совпадёт с указанным в конфиге <путь к тестам>protractor_config.js, и нужно будет поправить параметр seleniumServerJar.
После этого снова запускаем в консоли

и видим, как у нас автоматически стартует хром и проходят тесты.

Полезные ссылки:
http://angular.github.io/protractor/
https://github.com/mllrsohn/gulp-protractor
http://stackoverflow.com/questions/23135649/how-can-i-use-command-line-arguments-in-angularjs-protractor
http://jasmine.github.io/2.0/introduction.html
https://github.com/jtomaszewski/ionic-cordova-gulp-seed/blob/master/gulpfile.coffee
http://karma-runner.github.io/0.8/intro/configuration.html

LEAVE A COMMENT