Cucumber jvm - 在 After hook 中指定要忽略的多个标签
Cucumber jvm - specify multiple tags to ignore in After hook
我正在使用 cucumber jvm 编写一些测试,这些测试需要对某些功能进行一些不同的拆卸行为,大多数情况下需要共同拆卸。
到目前为止,对于我的大多数情况,我已经能够成功地告诉 Cucumber 运行 常见的拆卸(使用“@After”注释)。另外,我指定了一个标签来忽略一小部分场景,这样我就可以在这些情况下使用特定的拆解。这是一个仅显示注释的浓缩示例:
@After("~@specificTearDown")
public void tearDown(){
// some tear down code
}
@After("@specificTearDown")
public void specialTearDown(){
// some code specific to a scenario
}
我正在使用“~”符号指定要忽略的标记 scenarios/features。
这很好用,我得到了在大多数场景中调用的第一个拆卸方法,第二个 运行ning 仅用于标记场景。
我的问题是我现在需要为另一种情况指定第二种特定的拆卸方法,但 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
}
你能试试吗?希望对你有帮助
@After("@tag1, @tag2") 适合我。
我正在使用 cucumber jvm 编写一些测试,这些测试需要对某些功能进行一些不同的拆卸行为,大多数情况下需要共同拆卸。
到目前为止,对于我的大多数情况,我已经能够成功地告诉 Cucumber 运行 常见的拆卸(使用“@After”注释)。另外,我指定了一个标签来忽略一小部分场景,这样我就可以在这些情况下使用特定的拆解。这是一个仅显示注释的浓缩示例:
@After("~@specificTearDown")
public void tearDown(){
// some tear down code
}
@After("@specificTearDown")
public void specialTearDown(){
// some code specific to a scenario
}
我正在使用“~”符号指定要忽略的标记 scenarios/features。
这很好用,我得到了在大多数场景中调用的第一个拆卸方法,第二个 运行ning 仅用于标记场景。
我的问题是我现在需要为另一种情况指定第二种特定的拆卸方法,但 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
}
你能试试吗?希望对你有帮助
@After("@tag1, @tag2") 适合我。