2009-07-18 54 views
17

我熟悉使用模擬對象來幫助單元測試我的Java類型,但發現不靈活會導致冗長繁瑣的測試類型和大量的重複。使用Scala來單元測試Java?

我已經看過使用Groovy進行單元測試並取得了中等成功。我對自己學習Scala很感興趣,但也希望將它用於測試Java。 有沒有人有任何建議或參考使用Scala來做到這一點?

更新澄清我追求的:

我已經看到了存在的工具Scala中的單元測試,像ScalaTest。和ScalaCheck,但他們專注於如何完成測試的機制。我正在尋找一些最佳實踐和/或提示和技巧,以瞭解如何使用Scala接觸單元測試。例如相當於Javaworld JUnit best practices articleanti-patterns的列表來指出常見的陷阱或有用的約定。

+0

恐怕如果你含糊其辭地說,丹尼爾寫的是最好的你會得到。 – 2009-07-20 09:01:10

+0

你會怎麼建議我改述它?對我來說「有沒有人有任何建議或參考使用Scala來做到這一點?」很清楚 – 2009-07-20 09:13:07

回答

7

您當然可以使用Scala來測試Java。實際上,由於Scala測試框架與JUnit很好地結合在一起,所以您可以在Scala中編寫測試,並通過JUnit從Eclipse運行它們。有三個重要的框架:ScalaTest,一般,非常靈活; ScalaCheck基於Haskell測試框架,它生成隨機數據來爲您測試條件;規範,一般,在範圍上與ScalaTest類似,但具有更多面向BDD的語法。

0

請注意,編譯可能相當慢,但。注意到在編寫Java時,我比使用Scala進行編程時更頻繁地運行測試的快捷鍵。事實上,在斯卡拉,你絕對想要讓SBT等東西坐在後臺,不斷測試你的代碼。這意味着 - 如果你所關心的只是測試用Scala編寫的測試 - 你可能需要拉更多的東西來使它變得舒適。