Подтвердить что ты не робот

Разница между rspec, capybara и огурцом

Может ли кто-нибудь сказать мне разницу между rspec, capybara и огурцом?

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

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

В JavaScript я вижу Жасмин в качестве моей модульной системы. Что делают эти три драгоценных камня в среде Ruby?

4b9b3361

Ответ 1

rspec - полнофункциональная среда тестирования, которая позволит вам написать, что Rails рассматривает модульные тесты, функциональные тесты и интеграционные тесты. Все они выполняют Ruby-код через различные уровни вашего приложения Rails. Все эти тесты моделируют запросы к вашему Rails-приложению, но фактически не запускают приложение в сети по сети.

cucumber - это платформа для тестирования интеграции на основе браузера, которая позволяет записывать автоматические тесты, которые выполняются против всего приложения Rails, доступного из автоматического веб-браузера. Это позволяет вам писать автоматические тесты поведения в браузере для JS или CSS. Cucumber обеспечивает уникальный угол для тестирования интеграции, в котором используется простая английская спецификация, сопоставляемая с кодом посредством регулярных выражений. Это позволяет использовать более естественную модель "Поведенческое развитие" - описание того, что веб-приложение должно делать на понятном языке с точки зрения пользователя.

capybara - это конкретный веб-драйвер, питающий инфраструктуру тестирования интеграции cucumber, которая использует безгласный веб-кит. Это позволяет запускать браузер без браузера (без интерфейса пользователя) Chrome/Webkit для автоматического тестирования. Это очень полезно как в области разработки, так и на удаленном сервере тестирования/непрерывной интеграции.

Итак, rspec и cucumber схожи с тем, что они тестируют фреймворки со своим способом указания вещей. rspec имеет хороший DSL, который очень читабельен, будучи фактическим кодом. cucumber отображает простые текстовые описания в реальный код.

Хотя cucumber обычно используется поверх capybara, вы также можете использовать rspec для тестирования интеграции capybara. Тесты записываются либо в rspec, либо в огурце, но capybara является механизмом интеграции под ним.