0

Specs2 では、変更可能な仕様で ScalaCheck を使用して Given/When/Then スタイルを使用しています。また、ScalaCheckGenオブジェクトを作成する一般的に使用される Given ステップがあり、それをすべてのテストの共通スーパークラスに移動したいと考えています。そのステップ。(まあ、実際には、特性に変わりますが、それは違いを生まないかもしれません。)

ただし、私のテストには、正しい順序で実行する必要がある非常に複雑なセットアップ コードがいくつかあります。また、specs2 テスト コード用にかなり深いクラス階層が既にあり、これまでに試したすべてのトリックで実行されます。正しい順序は、実行の順序を同じに保つことに失敗しました。一見、これほど難しいことは奇妙に思えますが、もちろん、このような状況で specs2 が実際にどのように実行するかはわかりません。

したがって、私の質問は、実行の順序に大きな影響を与えることなく、どのように指定されたステップをスーパークラスまたはトレイトに移動できるかということです。

4

1 に答える 1

1

これはロケット科学ではありません。すべてのセットアップ コードが実行された後に、Given ステップを明示的に呼び出すだけです。そのため、Given ステップをメソッドに入れ、セットアップ コードの後に​​そのメソッドを呼び出すことができます。

より複雑なソリューションは、必ずしも機能するとは限りません。の中に入れないでくださいstep

于 2012-09-21T15:51:05.983 に答える