2011-07-10 32 views
11

我一直在尋找Spock,並且我已經有了FitNesse的經驗。我想知道人們如何選擇一個 - 如果它們似乎是解決相同或相似的問題空間。Spock vs FitNesse

對於那些一直在使用Spock或其他常規代碼進行測試的人,您是否看到任何明顯的性能下降?測試應該提供即時的反饋 - 因爲我們知道如果測試需要更長的時間才能運行,開發人員往往會減少運行時間 - 所以我想知道測試執行速度的降低是否對現實世界產生了影響。

謝謝

+3

我不認爲有明顯的性能下降。我發現Spock已經改變了我如何編寫測試比什麼更好(結構與給定/ whens等)。我也認爲spock被廣泛使用和接受。 – Steven

+0

我沒有使用過FitNesse,但我可以推薦Spock。這是寫作易於閱讀測試的表達方式。這些測試快速執行。在性能方面沒有重大影響。 – topr

+0

也見https://stackoverflow.com/questions/45352358/karate-vs-spock –

回答

4

我不是FitNesse的傢伙,所以請採取我說的一粒鹽。對我來說,似乎FitNesse試圖做的是提供一個獨立於編程語言的環境來指定測試。他們使用它來與程序員建立更直觀的界面。在Spock中,Groovy ast變換被用於將表格轉換爲常規程序。

由於您基本上停留在編程語言中,因此Spock更容易實現更復雜的測試設置。因此,您經常似乎必須在FitNesse中編寫夾具代碼。

我個人不需要測試執行按鈕,我喜歡直接的方法。我喜歡不需要更多的類,只是爲了啓用測試,而且我喜歡直接查看代碼。例如,我只想從命令行執行我的測試,而不是從Web界面執行。這在FitNesse當然也是可能的,但是結果是FitNesse的整個視覺效果試圖讓用戶對我產生壓力。這就是爲什麼我會選擇Spock而不是FitNesse。

語言不可知的方法的好處當然是,很多測試規範可以用於Java和.Net。所以如果這是你的要求,你可能想要判斷不同。它通常不是我。

至於表演,我不會太擔心那部分。