我想以某种方式获取我在我的项目中使用的所有标签的列表,并获取我在我的项目中拥有的所有 cucumber 场景的名称,而无需运行测试。有人可以帮助我吗?
最佳答案
根据@mpkorstanje 的建议,您可以为此创建一个自定义插件。
public class DryRunPlugin implements EventListener {
@Override
public void setEventPublisher(EventPublisher publisher) {
publisher.registerHandlerFor(TestCaseStarted.class, this::handleCaseStarted);
}
private void handleCaseStarted(TestCaseStarted event) {
System.out.println(event.getTestCase().getUri());
System.out.println(event.getTestCase().getName());
System.out.println(event.getTestCase().getScenarioDesignation());
event.getTestCase().getTags().stream().forEach(t ->
System.out.println(t.getName()));
}
}
@CucumberOptions(glue = "stepdef", plugin = {
"formatter.DryRunPlugin" }, features = "src/test/resources/feature/", dryRun = true)
您将获得如下输出。
file:src/test/resources/feature/scenarios1.feature
Scenario 1
src/test/resources/feature/scenarios1.feature:5 # Scenario 1
@Feature
@ScenarioOne
示例特征文件。
@Feature
Feature: Scenario and Scenario Outline Combination
@ScenarioOne
Scenario: Scenario 1
And this is "FIRST" step
And this is "SECOND" step
关于cucumber - 如何在不运行测试的情况下获取所有标签和 cucumber 场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55535160/