1

在開發一個項目時,我轉向應用程序進行測試,只是因爲這是我所熟悉的。但是,該項目還沒有發佈in over a year。我想知道如果有人有替代方案的建議,或者如果我應該堅持shoulda?Shoulda的替代軟件?

+3

是不是替代品'woulda'和'coulda'? :d – 2012-02-20 01:08:41

回答

3

The remarkable gem是我發現早該最接近的一次。不幸的是,它看起來好像還沒有更新。它也依賴於RSpec,它與Test :: Unit不兼容。

目前還不清楚它支持Rails 3的程度 - 雖然有一些指令可以讓它啓動並運行。

在看了Shoulda和Remarkable之後,我決定和Shoulda一起去,因爲它似乎仍然是可能更新的助手。

您將與shoulda一起的問題是Thoughtbot使用RSpec而不是Test :: Unit,這是Shoulda gem(爲Test :: Unit用戶的利益而存在)見過的原因的一部分很少的活動 - 寶石中的RSpec組件,shoulda-matchers,已更新much more recently。 Thoughtbot還發現了一個new maintainer for shoulda-contextin Jan 2012(這是與shoulda-matchers一起需要的gem,以使Test :: Unit中的所有工作都能正常工作 - shoulda gem實際上只會拉取shoulda-matchers和shoulda-context),所以應該更關注測試: :單位方面前進我期望。

希望這些舉動給至少有一點信心,早該測試::單位將被更頻繁地更新前進。在沒有任何其他建議的情況下,我會暫時堅持Shoulda。

+0

感謝您的解釋。希望我們能夠在你提到的變化中看到一些非常需要的應用發佈動作! – 2012-02-20 14:18:13

0

Rspec的是紅寶石用於測試的最常見的BDD框架,是相當受歡迎的。如果你喜歡應用程序中的某些斷言,那麼它適用於shoulda斷言。 Ruby還默認運行測試/單元進行測試。 在這之間,您現在與shoulda有什麼問題?

+0

我知道RSpec的,但這個帖子使它聽起來像他們不是替代品,但更多的互補性:http://stackoverflow.com/questions/4609543/rspec-and-shoulda-complementary-or-alternatives – 2012-02-20 00:02:03

+0

是,你可以使用shoulda斷言直接進入rspec。你也可以配置使用shoulda來使用模擬。所以是的,他們是免費的。 Shoulda快速且有助於添加驗證聲明。 – Kunday 2012-02-20 00:05:54

+0

您可以通過在Gemfile中定義gem'shoulda-matchers' 來添加應用程序匹配器 – Kunday 2012-02-20 00:06:05