公式のPlayドキュメントのSpecs2を使用して、Scalaのテストの例に従ってきました。私は、彼らが次のようなclodeで、に対してテストするために偽のアプリケーションを起動するためにWithApplication
を使用していることに気づく:Play Famework 2 - Scala - テストスイート用のアプリケーションを1つ起動する
"something" should {
"do X" in new WithApplication { /* ... */ }
"do Y" in new WithApplication { /* ... */ }
"do Z" in new WithApplication { /* ... */ }
}
これは罰金と、すべてのですが、私がいる問題は、私はコストを負担ということですこれが起こるたびに私のアプリケーションが起動します。テストスイートが妥当なサイズになったら、これは必ずしも「高速」または少なくとも十分速くないとは限りません。
val app = FakeApplication()
"something" should {
"do X" in new WithApplication(app) { /* ... */ }
"do Y" in new WithApplication(app) { /* ... */ }
"do Z" in new WithApplication(app) { /* ... */ }
}
と
"something" should {
val app = FakeApplication()
Helpers.running(app) {
"do X" in { /* ... */ }
"do Y" in { /* ... */ }
"do Z" in { /* ... */ }
}
}
最初は、最初のテストのために働くようだし、後でテストでDB接続の問題について文句を言う:私のようなことをやってみました。私は何かがここでシャットダウンされているか、何か(何が何であるかわからない)を推測しています。
実行中のアプリケーションが存在しないと不平を言うので、2番目の方法はまったく機能しません。
ご協力いただきまして誠にありがとうございます。ありがとう!