2010-06-06 38 views
3

我目前正在編寫Spotify元數據API的封裝來學習Scala。一切都很好,但我想單元測試代碼。爲了正確地做到這一點,我需要將Spotify API存根並獲得一致的返回值(比如頻繁更改頻繁更改的內容)。在斯卡拉存根網頁調用

有沒有人知道如何在Scala中存儲Web調用,一般的JVM還是通過使用一些外部工具,我可以連接到我的Maven安裝程序?

PS我基本上尋找類似Ruby的FakeWeb ...

提前感謝!

回答

3

聽起來就像你需要一個模擬框架來存儲與Web相關的調用(並且適當地分層你的軟件來插入真正的web框架或者你的模擬等價物)。 JMockMockito都運作良好。

您需要將它們與測試框架結合使用,例如JunitTestNG。我已經將所有這些與Scala結合使用,並且按預期工作。

+0

感謝Brian!我知道如何在JMock和Mockito的單元測試中對我所做的調用進行存根,但問題在於我想在我正在測試的方法內創建一個調用。 我打電話給內部進行HTTP調用的方法。我想存根內部的HTTP調用。 – 2010-06-06 20:23:52

+1

同意JMock或Mockito上的@Brian(儘管我會使用它們與規格(http://code.google.com/p/specs/) - 這種測試方法似乎更加Scalish)。 >>>「我打電話給內部進行HTTP調用的方法。」 >>>然後,您需要嘲笑您用於撥打電話的內部對象。 – 2010-06-07 07:17:06

+0

謝謝Vasil!任何人都可以向我解釋如何模擬一個內部對象?我知道如何在基本級別上使用Mockito或JMock(嘲諷對象並存儲某些方法),但沒有經驗嘲笑內部對象或類。任何幫助,將不勝感激! – 2010-06-07 08:07:00