首页 > 解决方案 > Java - 黄瓜标签排除不起作用

问题描述

我创建了一个 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 标记?

标签: javamavencucumbercucumber-jvmcucumber-junit

解决方案


我在评论中被告知我使用的语法已被弃用,所以我查找了新语法:https ://cucumber.io/docs/cucumber/api/#tags

将其留在这里以供将来参考。


推荐阅读