我正在使用黄瓜 jvm 用 groovy 编写测试。到目前为止,我将所有步骤定义都放在一个文件中,并且一切正常。我现在正在寻找将步骤定义移动到单独的文件,因为我有很多文件。我遇到的问题是实例变量。我试图让我的步骤定义尽可能通用,所以任何用@when 注释的定义都会返回一个名为响应的对象,而任何用@then 注释的定义都会在响应上声明一些东西。我的问题是,有没有办法可以将这些存储在单独的文件中?我已经阅读了一些关于“世界”的内容,但我不确定这是否是我正在寻找的,尽管查看了 github 上的示例项目(https://github.com/cucumber/cucumber-jvm/blob/master/groovy/src/test/groovy/cucumber/runtime/groovy/compiled_stepdefs.groovy),我无法让它工作。
我试图实现的一个例子是这样的:
Scenario:
When I say hello
Then Hello should be printed
作为我的场景。然后我想要两个类共享变量,如下所示:
class sayHello{
def response
@When('^I say hello$')
def iSayHello() {
response = "hello"
}
}
class printHello{
@Then('^Hello should be printed$')
def iPrintHello() {
assert response == "hello"
}
}
我知道我可以使用 spring 将变量注入到类中,但我想知道是否有另一种方法,以及我是否在使用“World”对象的正确轨道上。提前致谢