我目前正在编写 Spotify 元数据 API 的包装器来学习 Scala。一切都很好,但我想对代码进行单元测试。为了正确地做到这一点,我需要存根 Spotify API 并获得一致的返回值(比如曲目的流行度变化非常频繁)。
有谁知道如何在 Scala、JVM 中存根 Web 调用,或者使用一些我可以连接到我的 Maven 设置中的外部工具?
PS我基本上在寻找像Ruby的FakeWeb这样的东西......
提前致谢!
我目前正在编写 Spotify 元数据 API 的包装器来学习 Scala。一切都很好,但我想对代码进行单元测试。为了正确地做到这一点,我需要存根 Spotify API 并获得一致的返回值(比如曲目的流行度变化非常频繁)。
有谁知道如何在 Scala、JVM 中存根 Web 调用,或者使用一些我可以连接到我的 Maven 设置中的外部工具?
PS我基本上在寻找像Ruby的FakeWeb这样的东西......
提前致谢!
您可以使用 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