specs2 を使用して Scala でいくつかのテストを実行しようとしていますが、一部のテスト ケースが実行されないという問題が発生しています。
これは私の問題を説明するための最小限の例です。
BaseSpec.scala
package foo
import org.specs2.mutable._
trait BaseSpec extends Specification {
println("global init")
trait BeforeAfterScope extends BeforeAfter {
def before = println("before")
def after = println("after")
}
}
FooSpec.scala
package foo
import org.specs2.mutable._
class FooSpec extends BaseSpec {
"foo" should {
"run specs" in new BeforeAfterScope {
"should fail" in {
true must beFalse
}
}
}
}
テストが失敗すると予想しますが、ネストされたin
ステートメントの「失敗する必要がある」ケースは実行されないようです。
in
ネストされたステートメントまたは のいずれかを削除するBeforeAfterScope
と、テストは正しく動作するので、何かが足りないと思いますが、ドキュメントでこれを見つけることができませんでした。
[編集]
私のユースケースでは、現在、メソッドでデータベースにデータを入力し、before
メソッドでデータベースをクリーンアップしていafter
ます。ただし、それぞれの間でデータベースをクリーンアップして再度入力することなく、いくつかのテストケースを作成できるようにしたいと考えています。これを行う正しい方法は何ですか?