在 Cucumber 测试中,一个表示为 和 的特性Given
通常When
被Then
实现为三个独立的方法。这些方法通常需要共享值,而可变变量似乎就是这样做的方法。
举个简单的例子:
一个特征:
Given the digit 2
When it is multiplied by 3
Then the result is 6
和黄瓜方法:
class CucumberRunner extends ScalaDsl with EN with ShouldMatchers {
var digitUnderTest: Int = -1
Given("""^the digit (\d)$""") { digit: Int =>
digitUnderTest = digit
}
When("""^it is multiplied by 3$""") {
digitUnderTest = digitUnderTest * 3
}
Then("""^the result is (\d)$""") { result: Int =>
digitUnderTest should equal (result)
}
}
有什么办法,大概是内置在 Scala 测试或 Scala 的 Cucumber-jvm 中,允许我不表达digitUnderTest
为可变变量?