Documentation

You are viewing the documentation for the 2.0.x release series. The latest stable release series is 2.4.x.

§アプリケーションのテスト

テストのソースファイルは test フォルダに配置します。 Play コンソールで testtest-only タスクを実行すると、テストを実行することができます。

§specs2 を使う

Play 2 アプリケーションのテストは、デフォルトで specs2 を使います。

specs2 でクラス単体の仕様を記述する場合は、org.specs2.mutable.Specification trait を継承したクラス内で、 should/in のフォーマットを使って記述します。

import org.specs2.mutable._

import play.api.test._
import play.api.test.Helpers._

class HelloWorldSpec extends Specification {

  "The 'Hello world' string" should {
    "contain 11 characters" in {
      "Hello world" must have size(11)
    }
    "start with 'Hello'" in {
      "Hello world" must startWith("Hello")
    }
    "end with 'world'" in {
      "Hello world" must endWith("world")
    }
  }
}

§フェイクアプリケーション上で実行する

起動中のアプリケーションの依存するコードをテストする場合は、簡単に FakeApplication を利用することができます。

"Computer model" should {

  "be retrieved by id" in {
    running(FakeApplication()) {
  
      val Some(macintosh) = Computer.findById(21)

      macintosh.name must equalTo("Macintosh")
      macintosh.introduced must beSome.which(dateIs(_, "1984-01-24"))  
  
    }
  }
}

このフェイクアプリケーションに対して設定値を追加 (または上書き) したり、プラグインをモックすることも可能です。例えば、 default という名前の インメモリデータベースに接続された FakeApplication を起動する場合は、次のように書きます。

FakeApplication(additionalConfiguration = inMemoryDatabase())

次ページ: 機能テスト


このドキュメントの翻訳は Play チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。