2016-11-25 4 views
0

私は、認証特性によって保護されているコントローラを持っています。この特性は次のようになります。FakeRequestをRequestHeaderにダウンキャスト

通常のリクエストを行うときはすべてうまく動作しますが、ユニットテストを実行すると問題が発生します。

val goodRequest = FakeRequest("POST", "/platform/api/v1/files") 
.withBody(Json.toJson(ScalaMockingUtil.fileValidMetadataJson)) 
     .withHeaders((HeaderNames.AUTHORIZATION, "4322tertf2643t34t34")) 

次に、私は私のコントローラオブジェクトを取得し、FakeRequestことを適用することによって、メソッドを呼び出します: は、私は、次の偽のリクエスト作成

val result: Iteratee[Array[Byte], Result] = filesController.createFileMetadata()(goodRequest) 

私が直面していますこの問題をしているどこかのラインに沿ってFakeReuqestはRequestHeaderにダウンキャストされます。この問題は、ここに記載されている問題のようです:Unable to test controller using Action.asyncここでActionには1つではなく2つのapplyメソッドがあります。しかし、私は必要なものを強制することができないようです。

何か助けていただければ幸いです。

答えて

0

解決策(回避策)(呼び出しを使用していた)の代わりに適用されます():

val result = call(filesController.createFileMetadata(), goodRequest) 

意図したとおりに今すべての作品。

関連する問題