コントローラをテストしようとしていますが、これは新しいAction.async
を使用しています。 documentation以下の私は、私は型を参照して別の形質にテストしたいコントローラの下の部分を除外している:それは動作しますindex()
方法についてAction.asyncを使用してコントローラをテストできません
object UsersControllerSpec extends PlaySpecification with Results {
class TestController() extends Controller with UserController
"index action" should {
"should be valid" in {
val controller = new TestController()
val result: Future[SimpleResult] = controller.index().apply(FakeRequest())
/* assertions */
}
}
}
}
:私は次のようにそれをテストすることになってる
trait UserController { this: Controller =>
def index() = Action { /* snip */ }
def register() = Action.async(parse.json) { request => /* snip */ }
}
ドキュメントの状態完全に、残念ながらregister()
と同じことをすることはできません.FakeRequestを適用すると、Iteratee[Array[Byte], SimpleResult]
のインスタンスが返されます。私はそれがFuture[SimpleResult]
を返すrun()
メソッドを持っていることに気づいたが、FakeRequest
それはどんな内容やヘッダーもなしで400
と返す。 FakeRequest
の内容が私には全く見られないようです。どういうわけかiterateeにリクエストボディを送り、それを実行するはずですか?どのように私はそれを行うことができますどのような例を見つけることができませんでした。私にとって
これで運を?それは私を夢中にさせている! – benburton