2010-08-15 14 views
3

是否有強烈的理由使用Rspec控制器和視圖呢?有多少人使用Rspec控制器和視圖?

我的觀點嚴重依賴Javascript,據我所知,Rspec不處理javascript/ajax的意見。也即時使用Cucumber + Selenium。

我應該將它用於控制器嗎?

使用Cucumber + Selenium進行應用程序行爲還不夠嗎?如果一個黃瓜測試通過,那麼它會通過,爲什麼我應該打擾Rspec視圖和控制器測試?

有人能夠啓發我這個話題嗎?

回答

5

我使用了Cucumber + Shoulda的組合,但是我要告訴你的東西仍然適用於你有的設置。

當測試一個控制器時,我在功能測試中使用Shoulda來打中我所有的「否定認證」情況。例如:

  • 登錄的用戶試圖訪問管理頁面。
  • 嘗試訪問受保護內容的註銷用戶。
  • 用戶A試圖刪除用戶B的帖子。

我對此應用Shoulda,因爲我一般都在尋找的是我被踢到了登錄頁面,並且任何試圖惡意訪問的模型都沒有真正改變。我可以使用Cucumber來做這件事,但是我發現使用一些Shoulda宏和一些功能測試更容易,更簡單。在這種情況下應該很適合。

然後,對於「良好的認證」情況,我使用黃瓜。諸如:

  • 用戶訪問他自己的偏好頁面。
  • 管理員拉起報告。

這些類型的測試要求我檢查一些實際的頁面內容,而不是一遍一遍地檢查「訪問被拒絕」。我發現黃瓜的描述性在這裏是一個很好的比賽。

0

如果您構建了一套足夠完整的測試,那麼您可以使用硒,但是如果您想從應用程序的其餘部分測試您的javascript單獨行爲,則可以考慮使用JavaScript測試框架,如QUnit 。