我目前正在編寫Spotify元數據API的封裝來學習Scala。一切都很好,但我想單元測試代碼。爲了正確地做到這一點,我需要將Spotify API存根並獲得一致的返回值(比如頻繁更改頻繁更改的內容)。在斯卡拉存根網頁調用
有沒有人知道如何在Scala中存儲Web調用,一般的JVM還是通過使用一些外部工具,我可以連接到我的Maven安裝程序?
PS我基本上尋找類似Ruby的FakeWeb ...
提前感謝!
我目前正在編寫Spotify元數據API的封裝來學習Scala。一切都很好,但我想單元測試代碼。爲了正確地做到這一點,我需要將Spotify API存根並獲得一致的返回值(比如頻繁更改頻繁更改的內容)。在斯卡拉存根網頁調用
有沒有人知道如何在Scala中存儲Web調用,一般的JVM還是通過使用一些外部工具,我可以連接到我的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
感謝Brian!我知道如何在JMock和Mockito的單元測試中對我所做的調用進行存根,但問題在於我想在我正在測試的方法內創建一個調用。 我打電話給內部進行HTTP調用的方法。我想存根內部的HTTP調用。 – 2010-06-06 20:23:52
同意JMock或Mockito上的@Brian(儘管我會使用它們與規格(http://code.google.com/p/specs/) - 這種測試方法似乎更加Scalish)。 >>>「我打電話給內部進行HTTP調用的方法。」 >>>然後,您需要嘲笑您用於撥打電話的內部對象。 – 2010-06-07 07:17:06
謝謝Vasil!任何人都可以向我解釋如何模擬一個內部對象?我知道如何在基本級別上使用Mockito或JMock(嘲諷對象並存儲某些方法),但沒有經驗嘲笑內部對象或類。任何幫助,將不勝感激! – 2010-06-07 08:07:00