Тестирование просмотров JavaScript в Rails
Каков наилучший способ проверить просмотры JavaScript (проверить, работает ли страница JavaScript на JavaScript) в Rails?
Итак, скажем, у меня есть страница с именем /users/new
, которая содержит форму, которая что-то делает. Я бы хотел, чтобы он отправил форму, и инструмент тестирования JavaScript даст мне знать, если эта страница сломается или нет. Каков наилучший способ сделать это?
Я столкнулся с тремя вариантами тестирования:
Первые два в основном существуют для BDD и изолированного тестирования. Последнее больше для того, что я ищу, но Я не хочу иметь отдельную тестовую установку для JavaScript BDD и тестирования интеграции.
Есть ли у кого-то лучшее решение?
Ответы
Ответ 1
Если вы используете RSpec, вы можете использовать Capybara в тесте интеграции RSpec:
spec/requests/my_spec.rb:
describe "my test", :js => true do
it "should do something" do
visit '/some/path'
click_on 'Submit'
page.should have_content 'Congratulations!'
end
end
Не забудьте установить Capybara.javascript_driver = :webkit
в spec_helper.rb
.
Ответ 2
Проверьте проект чайной ложки на github.
https://github.com/modeset/teaspoon
Он поддерживает Mocha, Jasmine и QUnit.. имеет хорошую поддержку для бесконтактного использования ваших спецификаций с помощью PhantomJS (или Selenium Webdriver) и позволяет использовать полный конвейер Rails (coffeescript, fixtures и т.д.).
Кроме того, это сильно повлияло на мой опыт работы с другими тестовыми участниками с использованием Rails.