Может кто-нибудь объяснить разницу между этими двумя платформами? Обе части BDD, но почему я должен использовать тот или иной компонент, или оба вместе? Спасибо за ответыОгурец против Capybara
ответ
cucumber - это инструмент BDD, который выражает тестовые сценарии на бизнес-языке, пригодном для ведения бизнеса.
capybara - это инструмент автоматического тестирования (часто используемый) для приложений ROR.
На странице capybara github есть пример на using capybara with cucumber.
Огурец - универсальный инструмент BDD. Он ничего не знает о веб-приложениях. Таким образом, определения уровня огурца называют Capybara для тестирования веб-приложений.
Capybara - это инструмент, который взаимодействует с сайтом так, как человеку (например, посещать URL-адрес, щелкая ссылку, вводить текст в форму и отправлять его). Он используется для эмуляции потока пользователя через веб-сайт. С Капибарой вы можете написать что-то вроде этого:
describe "the signup process", :type => :feature do
before :each do
User.make(:email => '[email protected]', :password => 'caplin')
end
it "signs me in" do
visit '/sessions/new'
within("#session") do
fill_in 'Login', :with => '[email protected]'
fill_in 'Password', :with => 'password'
end
click_link 'Sign in'
page.should have_content 'Success'
end
end
Огурцов является инструментом для записи удобочитаемых тестов, которые отображаются в коду. С его помощью вы можете переписать приведенный выше пример, как это:
Scenario: Signup process
Given a user exists with email "[email protected]xample.com" and password "caplin"
When I try to login with "[email protected]" and "caplin"
Then I should be logged in successfully
Почти обычный текст интерпретации полезно обойти не-разработчиков, но и нужно некоторый код, отображенный в него на самом деле работать (определения шага).
Обычно вы используете Capybara, если вы тестируете сайт и используете Cucumber, если вам нужно поделиться этими тестами с не-разработчиками. Эти два условия независимы, поэтому вы можете использовать один без другого или обоих или ни одного.
PS: в фрагменте кода есть также RSpec. Это необходимо, потому что Cucumber или Capybara сами по себе не могут тест что-то. Они полагаются на RSpec, Test :: Unit или minitest, чтобы выполнить фактическую работу «Pass или Fail».
- 1. огурец capybara, как он работает
- 2. Как создать огурец (capybara?) Помощники
- 3. Значение не редактируется. Огурец + Capybara
- 4. Огурец/Capybara: ожидающий текст «Alert» (который исчезает)
- 5. capybara/огурец не может найти радио
- 6. selenium, capybara и огурец тестирование переупорядочивания перетаскивания
- 7. Мир против Включить в огурец/рубин
- 8. огурец против шпината с точки зрения скорости
- 9. Огурец: Как написать определение шага в Ruby Capybara
- 10. Огурец, Capybara, проверяющий HTML и тестирование JavaScript вместе с ошибкой
- 11. Огурец не находит идентификатор страницы - Ruby, Capybara, Selenium
- 12. undefined метод `has_selector? ' для nil: NilClass (NoMethodError) огурец (capybara) step
- 13. Огурец только показывает ошибки Capybara, когда в контроллере есть ошибка
- 14. Огурец & Capybara: Должен использовать rendered.should, page.should или response.should?
- 15. подсчитайте размер стола и установите на огурец capybara
- 16. Capybara: за и против нескольких драйверов
- 17. Как запустить Capybara против сервера Rails?
- 18. Пробег тест capybara против моего промежуточного сервера
- 19. Испытания рефакторинга против реализации Rails и Capybara
- 20. Синтаксическая ошибка в Огурец + Капибара
- 21. Интеграция против приемочного испытания ... что такое огурец/стейк?
- 22. Почему Огурец и Капибара называли это?
- 23. Огурец BeforeStep
- 24. рубиновый огурец щелкните href в таблице
- 25. капибары и огурец CSS локатор не нашел
- 26. Скачать местоположение Selenium-webdriver Огурец Chrome
- 27. Rails 3 огурец дисплей webrick отладка выход
- 28. Capybara & Cucumber | Попадая печенье
- 29. Огурец с селеном открывает несколько браузеров
- 30. огурец конец файла достигнут (EOFError)
Capybara не относится к ROR, его можно использовать для тестирования веб-приложений, написанных на любом языке. –