6

再利用可能なパラメーター化された Gherkin 句をサポートする Scala 用の BDD ツールはありますか?

次のような仕様を使用できるようにしたいと思います。

Given number 4 is entered
When "+" is pressed
And number -1 is entered
And "*" is pressed
And number 2 is entered
And "=" is pressed
Then result is 6

そして、次のように、パラメーターが 1 回だけ異なる Gherkin 句へのフィクスチャを定義したいと思います。

scenario("(4+(-1)) * 2 = 6") {

  given("number 4 is entered")
  when("'+' is pressed")
  and("number -1 is entered")
  and("'*' is pressed")
  and("number 2 is entered")
  and("'=' is pressed")
  then("result is 0")
}

次のような句の定義が与えられた場合:

"number $number is entered" {
    calculator.enter(number)
}
"'$key' is pressed" {
    calculator.press(key)
}
"result is $number" {
    assert(calculator.getDisplayedNumber === number)
}

ScalaTest と Specs のマニュアルを調べましたが、そのような機能は見つかりませんでした。ScalaTest は別のシナリオで定義された句を再利用できるようですが、パラメータ化されていないようです。

私が欲しいものをサポートするいくつかのツール、または ScalaTest の拡張機能、またはそのような結果を得るために自分で拡張する方法を知っていますか?

4

1 に答える 1

5

次の例を specs2 で見つけて、Given When Then 仕様を実装することができます: https://github.com/etorreborre/specs2/blob/1.6/src/test/scala/org/specs2/examples/GivenWhenThenSpec.scala

これが役立つことを願っています。

于 2011-11-20T20:39:14.410 に答える