Используйте капибару, чтобы утверждать, что что-то случилось через ajax - PullRequest
2 голосов
/ 03 ноября 2011

Я все еще на Rails 2.3.x и использую Rspec, Capybara и Steak для проведения приемочного тестирования.

Я хочу написать 2 теста, один с использованием драйвера js, а другой - с использованием plainold-test-test.

Можно ли написать такой тест?

visit "/foo"
click_link "Load a new Foo via ajax!"
# assert foo loaded by ajax and not by browser natively following link
page.should have_content("New foo here")

Другими словами, предположим, что требование продукта - «страница не будет перезагружаться, если у пользователя есть javascriptвключено».Есть ли способ выразить это в тесте (т. Е. Чтобы страница не была полностью перезагружена)?

1 Ответ

0 голосов
/ 03 ноября 2011

Да, это должно работать из коробки. Капибара имеет время ожидания по умолчанию. Просто убедитесь, что этого достаточно для обработки запроса AJAX. Вот больше информации: http://codetunes.com/2011/08/20/testing-ajax-reloaded-elements-with-capybara

Кроме того, есть ли вероятность, что вы посмотрели на проблему с видео-тегом EM?

...