gpt4 book ai didi

annotations - Cucumber jvm - 在 After hook 中指定要忽略的多个标签

转载 作者:行者123 更新时间:2023-12-02 04:15:43 27 4
gpt4 key购买 nike

我正在使用 cucumber jvm 编写一些测试对于某些功能需要一些不同的拆卸行为,大多数场景需要共同拆卸。

到目前为止,我已经能够成功地告诉 Cucumber 对我的大多数场景运行常见的拆卸(使用“@After”注释)。另外,我指定了一个标签来忽略一小部分场景,这样我就可以在这些情况下使用特定的拆解。这是一个仅显示注释的浓缩示例:

@After("~@specificTearDown")
public void tearDown(){
// some tear down code
}

@After("@specificTearDown")
public void specialTearDown(){
// some code specific to a scenario
}

我使用“~”符号来指定要忽略的标记场景/功能。

这很有效,我得到了在大多数情况下调用的第一个拆卸方法,第二个方法只在标记的情况下运行。

我的问题是,我现在需要为另一种情况指定第二种特定的拆卸方法,但 Cucumber 似乎不喜欢忽略超过 1 个标签。

我尝试了以下但没有成功...

@After("~@specificTearDown, ~@anotherSpecificTearDown")
public void tearDown(){
// some tear down code
}

@After("@specificTearDown")
public void specialTearDown(){
// some code specific to a scenario
}

@After("@anotherSpecificTearDown")
public void anotherSpecificTearDown(){
// some code specific to a scenario
}

这会导致 Cucumber 只对所有场景运行第一个拆卸方法,这会导致我的测试发生冲突,因为其他拆卸方法也会针对标记的场景运行。

关于我如何做到这一点的任何想法,我曾想过只使用一个标记来指定第一个拆卸并用它标记我不想用该代码拆卸的所有功能,但这似乎必须对我这样做是错误的。

最佳答案

我认为这应该可行:

@After({"~@specificTearDown", "~@anotherSpecificTearDown"})
public void tearDown(){
// some tear down code
}

可以试试吗?希望对你有帮助

关于annotations - Cucumber jvm - 在 After hook 中指定要忽略的多个标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33876364/

27 4 0