Web services 如何使用Play Framework';通过play';什么是WS对象?
我正在编写一些功能测试,但是我想测试与其他http端点隔离的堆栈 有没有一种机制可以让我说“将WS调用直接发送到这组固定响应”或者其他一些方式来中断对http端点的调用,而这些调用将不可用于自动测试Web services 如何使用Play Framework';通过play';什么是WS对象?,web-services,scala,testing,playframework-2.1,functional-testing,Web Services,Scala,Testing,Playframework 2.1,Functional Testing,我正在编写一些功能测试,但是我想测试与其他http端点隔离的堆栈 有没有一种机制可以让我说“将WS调用直接发送到这组固定响应”或者其他一些方式来中断对http端点的调用,而这些调用将不可用于自动测试 或者,fakeApplication config如何呈现给应用程序的其余部分,以便我可以将URL设置为某个本地主机服务器,我将自己构建该服务器以提供固定的响应您可以创建一个模仿WS签名的结构类型,并在代码中使用它 type WSLike = { def url(url: String): WS
或者,fakeApplication config如何呈现给应用程序的其余部分,以便我可以将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"))