我创建了一个Cucumber运行器类,并且尝试通过包含一个Cucumber标签并排除另一个Cucumber标签来运行特定的测试子集。我正在使用Maven作为项目经理。
package cucumber_runner;
import org.junit.runner.RunWith;
import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;
@RunWith(Cucumber.class)
@CucumberOptions(features = "src/test/resources/features/",
glue = "stepdefinitions",
tags = {"@test", "~@homepage"})
public class RunCukesTest {
}
但是,在项目文件夹中运行mvn test
的结果是根本没有运行Cucumber测试。一旦从标签中删除〜字符,如下所示:tags = {"@test", "@homepage"})
,测试将按预期执行,仅考虑同时具有@test和@homepage标签的功能文件。如何从测试中正确排除@homepage标记?
在评论中被告知,我所使用的语法已被弃用,因此我查找了新语法:https://cucumber.io/docs/cucumber/api/#tags
将此留作以后参考。