2012-03-28 74 views
0

我正在使用Selenium驅動程序使用Ruby on Rails 3.2.2,cucumber-rails-1.3.0,rspec-rails-2.8.1和capybara-1.1.2。我想知道如何什麼分別使用Cucumber和Rspec來測試?也就是說,我應該用什麼「行爲」來對待黃瓜和Rspec如何以適當的方式劃分測試「擔憂」?如何以及分別使用Cucumber和Rspec來測試什麼?

例如,爲了測試視圖,我應該使用Cucumber還是RSpec測試頁面內容中是否存在CSS id?或兩者?

回答

2

需要Rspec被隔離開來測試各種零部件(控制器,模型和視圖)您的應用程序。 (使用Mock,Stub和其他工具,可以爲您提供RSpec)

使用Cucumber測試應用程序的所有部件,例如,如果您需要測試符號在你沒有黃瓜的應用程序中,你應該:

1)打開一個shell並運行rails服務器。

2)進入瀏覽器並輸入登錄網址。

3)填寫表單域。

4)單擊提交按鈕。

你應該自動化這個過程,並且與Cucumber類似的過程,對於其他人測試使用Rspec。

+0

我也想測試Java腳本的行爲。我應該使用*獨佔*黃瓜這些東西? – Backo 2012-03-31 17:28:04

+0

黃瓜使用[水豚](https://github.com/jnicklas/capybara)進行測試,它支持使用Selenium的javascript和ajax請求。 – byterussian 2012-03-31 19:03:12

+0

我的「子問題」(在前面的評論中)強調**獨佔**字。換句話說,爲了測試JavaScript,我應該只使用*黃瓜還是我應該使用RSpec? – Backo 2012-04-01 02:07:39

0

它們都可以測試節點屬性,但我只會使用Capybara來請求規範。最終它是個人喜好。我一起使用rspec和水豚,但是在測試請求/期望時,水豚的語言語法更有意義/是rspec的語義。

相關問題