我有一个使用子域的播放应用程序。
目前我在笔记本电脑上安装了dns,因此我可以在本地浏览URL,如:
subdomain1.myappurl.com:9000/ subdomain2.myappurl.com:9000 /
(我的myappurl指向127.0.0.1)。
我想创建一个使用这些URL的测试(我想提供URL)
如何使用FakeRequest执行此操作?
另外,什么是FakeRequest,它是一个无头浏览器?理想情况下,我想创建一个集成测试(但不测试UI方面),以确保在登录/注销等时数据正确写入数据库。
答案 0 :(得分:6)
修改:根据OP的评论,有一种方法可以覆盖FakeRequest
中的主机名,方法是将其添加为标题。看来request.host
实际上是在Request
特征中设置的,它只是从标题中派生而来。
import play.api.http.HeaderNames
FakeRequest(GET, "/something").withHeaders(HeaderNames.HOST -> "sub.domain.com")
来自控制器功能的FakeRequest is just passed through the router of the
FakeApplication (if using the
路由helper), and what you get is the
结果`。这里没有无头浏览器。
将使用无头浏览器的是WithBrowser帮助者。
"go to the right url" in new WithBrowser(webDriver = WebDriverFactory(HTMLUNIT)) {
browser.goTo("google.com")
browser.pageSource must not contain("Bing")
// Do other things ...
}
WithBrowser
对于测试是否已保存数据有点过分。