簡體   English   中英

rspec,水豚和黃瓜之間的區別

[英]Difference between rspec, capybara and cucumber

誰能告訴我rspec,水豚和黃瓜之間的區別?

group :development, :test do
  gem 'rspec-rails', '~> 2.0'
end

group :test do
  gem 'capybara', '~>2.1.0'
end

在JavaScript中,我將Jasmine視為我的單元測試框架。 這三個寶石在Ruby環境中做了什么?

rspec是一個功能齊全的測試框架,可以讓您編寫Rails認為的單元測試,功能測試和集成測試。 所有這些都通過Rails應用程序的各個層來運行Ruby代碼。 所有這些測試都模擬對Rails應用程序的請求,但實際上並不是通過網絡端到端地運行應用程序。

cucumber是一個基於瀏覽器的集成測試框架,它允許編寫針對從自動Web瀏覽器訪問的整個Rails應用程序運行的自動化測試。 這允許您編寫有關JS或CSS的瀏覽器內行為的自動化測試。 Cucumber在集成測試中提供了一個獨特的角度,它使用通過正則表達式映射到代碼的普通英語規范。 這允許更自然的“行為驅動開發”模型 - 從用戶的角度以簡單的語言描述Web應用程序應該做什么。

capybara是一個特殊的網絡驅動程序,支持cucumber集成測試框架,它使用無頭webkit。 這允許運行無頭(無UI)Chrome / Webkit瀏覽器進行自動測試。 這在開發中非常有用,尤其是在遠程測試/持續集成服務器上。

所以rspeccucumber在測試框架方面類似,他們用自己的方式來指定東西。 rspec有一個很好的DSL,在實際代碼時非常易讀。 cucumber將純文本描述映射到實際代碼。

雖然cucumber通常用於水豚,但您也可以使用rspec來驅動capybara整合測試。 測試用rspec或黃瓜編寫,但capybara是下面的集成引擎。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM