6

ドキュメントの機能テストの記述部分はかなり簡潔であり、模擬フ​​ォーム値を完全に送信するための詳細が欠けています。Map私はどういうわけか(方法/場所を思い出せない)、次のようにに渡すことで基本的なフォーム値(POSTリクエストをモックする)を送信できると判断しましFakeRequestた:

val Some(result) = routeAndCall(FakeRequest(POST, "/path/to/test", FakeHeaders(),
                                Map("postedVariable" -> Seq("and a value"))))

ただし、「アップロードされた」ファイルの場合は考慮されていないようです。

4

1 に答える 1

12

ファイルアップロードテストは次のようになります。

val tempFile = TemporaryFile(new java.io.File("/tmp/the.file"))
val part = FilePart[TemporaryFile](key = "image", filename = "the.file", contentType = Some("image/jpeg"), ref = tempFile)
val formData = MultipartFormData(dataParts = Map(), files = Seq(part), badParts = Seq(), missingFileParts = Seq())
val result = routeAndCall(FakeRequest(POST, "/path/to/test", FakeHeaders(), formData))

ここ"image"で、はファイルの内容を見つけることが期待されるHTMLフォーム要素の名前です。

BodyParsers.maxLengthアップロードのサイズを制限するために使用している場合は、次のように置き換えることformDataができますRight(formData)

于 2012-11-16T08:05:46.573 に答える