Повторное использование определений шагов Cucumber-JVM в других проектах

Как я могу повторно использовать определения шагов Cucumber-JVM в других проектах для тестирования некоторых типичных веб-действий. Дело в том, что я создал какой-то java-проект только с реализациями Step Definition для типичных сценарных действий, таких как:

When I follow the link "*some_link*"
Then I should see following content "*some_content*" on page

И я хочу повторно использовать эти определения в других проектах (включая путь к классам), просто чтобы написать свои собственные простые сценарии. Но когда я запускаю сценарий (как тест JUnit), Cucumber не может найти определения шагов. И когда я пытаюсь расширить класс определений шагов, я получаю сообщение об ошибке, что я не могу расширить класс определений шагов. Итак, можно ли повторно использовать определения шагов, и если да, то как?


person kazakovs    schedule 12.10.2012    source источник


Ответы (1)


Что ж, я нашел решение. Это кажется довольно простым.

Есть аннотация @CucumberOptions с параметром «клей». Указание этим параметром на базовый пакет, в котором есть определения шагов, заставляет Cucumber искать в этом базовом пакете. Программа запуска тестов будет выглядеть так:

@RunWith(Cucumber.class)
@CucumberOptions(glue = { "com.example.stepdefspackage" })
public class Run{
}
person kazakovs    schedule 15.10.2012
comment
Спасибо за обновление этой информации. Я также использую Cucumber и почти уверен, что собираюсь решить эту проблему (возможно, сегодня) - person noplay; 15.10.2012
comment
вам было бы лучше с classpath: позволить ему искать путь к классам для него - person Matt; 15.10.2012
comment
Обратите внимание, что вы не можете указать имя класса шага, а только пакет. Эта стратегия, хотя и несложная, требует некоторой утомительной работы. Подробнее об этом здесь: confessionsofanagilecoach.blogspot.com/2017/05 / - person Lance Kind; 04.05.2017