Попытка проверить функцию воспроизведения, которая анализирует multipartFormDataтест играть Скала parse.mulipartFormData
def requestBulkSiteSbcActionConfirm = Action.async(parse.multipartFormData) { request => ....
Тест я создал это
val temporartyFile = TemporaryFile("test")
val filePart = FilePart("key: String", "test.csv", None, temporartyFile)
val multipartFormData: MultipartFormData[TemporaryFile] = MultipartFormData(Map(),Seq(filePart), Seq())
val request: Request[AnyContentAsMultipartFormData] = FakeRequest().withHeaders(("Content-Type"->"multipart/form-data")).withMultipartFormDataBody(multipartFormData)
val pw = new PrintWriter(filePart.ref.file)
pw.write(s"$TestSiteId_1, ${AdLeft.id}, on\n")
pw.write(s"$TestSiteId_2, ${AdRight.id}, off\n")
pw.close()
val acc: Accumulator[ByteString, Result] = controller.requestBulkSiteSbcActionConfirm().apply(request)
, какие исключения
- valid file sbc command list *** FAILED ***
[info] java.util.NoSuchElementException: None.get
[info] at scala.None$.get(Option.scala:347)
[info] at scala.None$.get(Option.scala:345)
[info] at play.api.mvc.BodyParsers$parse$$anonfun$multipartFormData$1.apply(ContentTypes.scala:657)
[info] at play.api.mvc.BodyParsers$parse$$anonfun$multipartFormData$1.apply(ContentTypes.scala:656)
[info] at play.api.mvc.BodyParser$$anon$8.apply(Action.scala:258)
[info] at play.api.mvc.BodyParser$$anon$8.apply(Action.scala:257)
[info] at play.api.mvc.Action$class.apply(Action.scala:103)
[info] at play.api.mvc.ActionBuilder$$anon$2.apply(Action.scala:455)
[info] at controllers.SbcConfigControllerTest$$anonfun$2$$anonfun$apply$mcV$sp$1.apply$mcV$sp(SbcConfigControllerTest.scala:64)
[info] at controllers.SbcConfigControllerTest$$anonfun$2$$anonfun$apply$mcV$sp$1.apply(SbcConfigControllerTest.scala:55)
ага видел, что тоже, но я не уверен, как запустить приложение в моем тесте? – richs
В Play есть помощники, чтобы использовать приложение во время тестирования, как черта 'OneAppPerSuite'. Я рекомендую вам ознакомиться с примерами в [документации] (https://playframework.com/documentation/2.5.x/ScalaFunctionalTestingWithScalaTest#Creating-Application-instances-for-testing) – vdebergue