Многомодульный фреймворк:
- отдельный core.jar под кор-функциональность (работа с вебдрайвером, всяческий конфиг),
- отдельный steps.jar под, собственно, степы.
Вызываю gradle task, отвечающий за запуск тестов, получаю missing implementation:
$ gradle cucumber
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar UP-TO-DATE
:assemble UP-TO-DATE
:compileTestJava
:cucumber
@Integration
Feature: Integration
@api
Scenario: API test # integration.feature:12
Given API step1
And API step2
1 Scenarios (1 undefined)
2 Steps (2 undefined)
0m0.000s
You can implement missing steps with the snippets below:
@Given("^API step(\\d+)$")
public void api_step(int arg1) throws Throwable {
// Write code here that turns the phrase above into concrete actions
throw new PendingException();
}
BUILD SUCCESSFUL in 2s
5 actionable tasks: 2 executed, 3 up-to-date
Настройки Cucumber раннера:
@RunWith(Cucumber.class)
@CucumberOptions(features = "src/test/resources/features"
, glue = "com.dkat.atf.core.steps"
, plugin={"pretty", "html:target/cucumber-html-report", "json:target/cucumber-json-report/report.json"}
, tags={"@api"})
В не разбитом на отдельные .jar файлы проект запускает тесты, распознаёт степы и успешно выполняет тесты.
Подозревать что-то конкретное не могу, потому как технологии для меня новые – Gradle, Spring (использую для сохранения контекста тестов между степами).
С чего бы начать, на что обратить внимание? : )