[英]How can I use Play Framework's FakeApplication to stub out calls to web services via play's WS object?
我正在编写一些功能测试,但是我想测试与其他http端点隔离的堆栈。
我是否可以使用一种机制说“直接WS调用这组罐装响应”或以其他方式中断对自动测试不可用的http端点的调用?
另外,fakeApplication配置如何呈现给应用程序的其余部分,因此我可以将URL设置为某些本地主机服务器,由我自己构建以提供罐头响应
您可以创建一个模仿WS
签名的结构类型,并在您的代码中使用它。
type WSLike = {
def url(url: String): WSRequestHolder
}
然后,您可以插入自己的WSLike
类版本。 与模拟库结合使用,我想您可以做任何您想做的事情。
至于第二个问题。 您可以这样称呼它:
val url = Play.current.configuration
.getString("my.webservice.url")
.getOrElse(throw new PlayException(
"Configuration error",
"Could not find my.webservice.url in settings"))
WS.url(url)
然后在您的application.conf
添加正确的URL。 您可以使用FakeApplication
提供另一种。
FakeApplication(additionalConfiguration =
Map("my.webservice.url" -> "http://localhost/service"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.