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

时间:2015-11-04 13:09:17

标签: scala playframework-2.4

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

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

我想做类似下面的代码片段(不编译):

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

我怎样才能轻松做到?

2 个答案:

答案 0 :(得分:5)

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

FakeRequest

答案 1 :(得分:0)

FakeRequest(GET, "/users/geographicPoint").copyFakeRequest(remoteAddress = "81.xxx.xxx.xxx") . worked for me.