読者です 読者をやめる 読者になる 読者になる

specs2 AcceptanceSpecification 覚え書き

Scala Test BlackQuill

状態遷移のテストがしたくて、いろいろ調べた。

あるobjectに状態を与えたい時はこう書くらしい。

  "This is a spec to check status of Flags" ^
  p^
  "When BlackQuill.main accept '--help' should"  ^ //状態1
  "'BlackQuill.Switches.stdin' must be False" ! isStdinFalse ^
  "'BlackQuill.Switches.stdout' must be False" ! isStdoutFalse ^
  "'BlackQuill.Switches.force' must be False" ! isForceFalse ^
  "'BlackQuill.Switches.output' must be False" ! isOutputFalse ^
  "'BlackQuill.Switches.verbose' must be False" ! isVerboseFalse ^
  "'BlackQuill.Switches.encFlag' must be False" ! isEncFlagFalse ^
  endp^
  "BlackQuill.main should" ^
  "BlackQuill is destroyed" ;init //初期化して状態2に移る
  "When BlackQuill.main accept '--h'" ;accepthSw
  "'BlackQuill.Switches.stdin' must be False" ! isStdinFalse ^
  "'BlackQuill.Switches.stdout' must be False" ! isStdoutFalse ^
  "'BlackQuill.Switches.force' must be False" ! isForceFalse ^
  "'BlackQuill.Switches.output' must be False" ! isOutputFalse ^
  "'BlackQuill.Switches.verbose' must be False" ! isVerboseFalse ^
  "'BlackQuill.Switches.encFlag' must be False" ! isEncFlagFalse ^
  end

 

状態変化というか、返り値チェックしない関数は;で書いて^がいらないらしい。ドキュメントの中かなり探したけどどこかに書いてあるのかしら?

ggってもよくわからず。結局コンパイラが教えてくれた。