2016-01-25 2 views
0

В настоящее время я использую Protractor и Cucumber.js для запуска тестов автоматизации в приложении Angular. Я использую Webstorm и два плагина Cucumber.js и Gherkin.Указание пути определения пути в Webstorm

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

Мне удалось заставить работать мой код, но плагины Gherkin/Cucumber.js не распознают, где находятся определения шага. Это отнимает много полезных инструментов выделения и поиска файлов. Итак, кто-нибудь столкнулся с этой проблемой или кто-нибудь знает, как я могу указать местоположение определений настраиваемых шагов?

ответ

0

Рассмотрим следующую структуру каталогов:

test/componentA/first.feature 
test/componentA/step_definitions/firstFeaturesSteps.js 
test/componentB/second.feature 
test/componentB/step_definitions/secondFeaturesSteps.js 
test/step_definitions/someCommonSteps.js 

Тесты должны соответствовать успешно если protractor.conf.js (или WTV вы назвали его) имеет

cucumberOpts: { 
    require: ['test/**/step_definitions/**/*Steps.js'], 
    format: 'pretty' 
} 

Если вы используете WebStorm или IDEA, тогда макрос автозаполнения и ctrl-click будет работать, если вы отбросите определения шага в каталоге «step_definitions». Вы должны иметь возможность ctrl-click по шагам .feature, чтобы перейти к определению шага ... даже если шаг в first.feature соответствует определению шага в commonSteps.js или secondFeaturesSteps.js. IDE, похоже, знает, где этапы, только если они находятся в директориях step_definition и не связаны с исходными файлами, переданными в cucumberOpts.require.

0

вы не сможете многое сделать для WebStorm, чтобы узнать ваши шаги. Создайте символическую ссылку.

Два варианта:

1 создать ссылку на ваш частный модуль

  1. создать частный модуль с определениями ступенчатых
  2. в step_definitions папке создать файл '' whatever.js
  3. в этот тип файла: module.exports = require ('myPrivateModule');

-создать символическую ссылку из вашего личного модуля в step_definitions папки

Я предпочитаю второй вариант, потому что WebStorm способен распознавать действия, способ и удалить неизвестное подсвечивание определения шага.

Смежные вопросы