gpt4 book ai didi

scala - Play2 scala specs2 使用远程地址测试 FakeRequest

转载 作者:行者123 更新时间:2023-12-03 10:04:34 25 4
gpt4 key购买 nike

我正在使用 Play! 2.4 scala、spec2 和 Mockito。

我试图在我的一个集成测试中设置一个虚假请求的远程地址,但我找不到正确的方法来做到这一点。

我想做类似于以下代码片段的事情(无法编译):

route(FakeRequest(GET, "/users/geographicPoint", remoteAddress =  "81.xxx.xxx.xxx"))

我怎样才能轻松做到这一点?

最佳答案

FakeRequest.apply 没有仅接受这三个参数的重载。案例类本身有一些没有默认值的参数,您必须填写这些参数。(在编辑之前)我会说您可以只使用 copy 方法,因为 FakeRequest 是一个case class,然后填入你想要的值。但令人讨厌的是,copy 方法是从 RequestHeader 继承的,所以当你copy 一个 FakeRequest 时,你不会得到一个 FakeRequest 作为返回。相反,您必须手动调用构造函数:

import play.api.mvc.AnyContentAsEmpty

new FakeRequest("GET", "/", FakeHeaders(), AnyContentAsEmpty, remoteAddress = "1.2.3.4")

关于scala - Play2 scala specs2 使用远程地址测试 FakeRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33522791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com