uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかReactとかFregeとかJavaとか -

cuke4duke

Cucumberというのがあって、これはRuby用のBDDフレームワークで、RubyのDSLを使って英文のようにテストがかけるのが特徴です。

cuke4dukeは、JRubyを使って、CucumberをJVM上で解釈させるためのライブラリです。

GroovyでCucumberのテストを書くこともできて、

this.metaClass.mixin(cuke4duke.GroovyDsl)

Given(~/I have entered (\d+) into the calculator/) { int number ->
  calc = new calc.Calculator()
  calc.push number
}

こんな感じ。他のJVM上の言語でもテストケースが書けます。たとえば、ClosureとかScalaとかで。意外なことに、Javaでも書ける。