3

我目前正在编写 Spotify 元数据 API 的包装器来学习 Scala。一切都很好,但我想对代码进行单元测试。为了正确地做到这一点,我需要存根 Spotify API 并获得一致的返回值(比如曲目的流行度变化非常频繁)。

有谁知道如何在 Scala、JVM 中存根 Web 调用,或者使用一些我可以连接到我的 Maven 设置中的外部工具?

PS我基本上在寻找像Ruby的FakeWeb这样的东西......

提前致谢!

4

2 回答 2

3

听起来您需要一个模拟框架来存根与 Web 相关的调用(并适当地分层您的软件以插入真正的 Web 框架或您的模拟等效项)。JMockMockito都运行良好。

您需要将它们与JunitTestNG等测试框架结合使用。我已经在 Scala 中使用了所有这些,并且它们按预期工作。

于 2010-06-06T20:01:48.237 回答
0

您可以使用 Mockito 或其他模拟框架模拟您的数据服务(实际执行调用的服务)(请参见此处的示例:http: //guilhebl.github.io/scala/backend/testing/2017/07/12/ scala-play-test-mock-guice-inject/)或者您可以使用来自对您的 Web 服务的调用产生的虚假结果来存根路由器:

https://www.playframework.com/documentation/2.6.x/ScalaTestingWebServiceClients

于 2017-07-13T21:52:30.750 回答