Play Framework Testing przy użyciu MultipartFormData w FakeRequest

Obecnie piszę testy Specs2 dla aplikacji May Play Framework 2.2.x, która akceptuje zgłoszenia MultipartFormData jako część swojej funkcji.

Z powodzeniem napisałem inne testy z tekstem i obiektami JSON przy użyciu następującej formy:

"respond to POST JSON with description field present" in {
  running(FakeApplication()) {
    val response = route(FakeRequest(POST, "/submission.json").withJsonBody(toJson(Map("content" -> toJson("test-content"), "description" -> toJson("test-description"))))).get
    status(response) must equalTo(OK)
    contentType(response) must beSome.which(_ == "application/json")
    contentAsString(response) must contain(""""description":"test-description"""")
    contentAsString(response) must contain(""""content":"test-content"""")
  }
}

Jednak gdy używam metody .withMultipartFormData, otrzymuję następujące błędy:

Cannot write an instance of play.api.mvc.AnyContentAsMultipartFormData to HTTP response. Try to define a Writeable[play.api.mvc.AnyContentAsMultipartFormData]
val response = route(FakeRequest(PUT,"/submission.json/1/files").withMultipartFormDataBody(data)).get
                    ^

Test MultipartFormData, który próbowałem debugować, ma postać:

"respond to file PUT form with details not specififed" in {
  running(FakeApplication()) {
     val basePath:String = Play.application.path.getCanonicalPath();
     val data:MultipartFormData[TemporaryFile] = MultipartFormData(Map[String,Seq[String]](),
                                    List(
                                        FilePart("file_upload","",Some("Content-Type: multipart/form-data"),TemporaryFile(new java.io.File(basePath + "/test-data/testUpload.jpg")))
                                    ), 
                                    List(), 
                                    List())


     val response = route(FakeRequest(PUT,"/submission.json/1/files").withMultipartFormDataBody(data)).get
     status(response) must equalTo(CREATED)
 }
}

Patrząc na dokumentację Play Framework dla odpowiedniej wersji klasy FakeRequest nie widzę zbyt wiele, aby pomóc mi prześledzić problem:play.api.test.FakeRequest

A jeśli chodzi o inną dokumentację na ten temat, wydaje się, że brakuje witryny Play Framework i Google.

Spróbowałem wypróbować następujące alternatywne sposoby próbowania mojego kodu MultipartFormData:

Pisanie przypadków testowych do przesyłania plików w Play 2.1 i ScalaTest MultipartFormData w Play 2.0 FakeRequestJak przetestować żądania danych wieloczęściowych formularzy dotyczące przesyłania plików w Play Framework 2.0 przy użyciu Java? (Najpierw tłumaczenie na kod Scala).

Jednak nie odniosłem żadnego sukcesu w żadnym z tych podejść.

questionAnswers(3)

yourAnswerToTheQuestion