Я не могу заставить работать спецификации запросов при использовании Javascript.
Мои спецификации pass , если я запускаю их без Javascript (страница создана для работы с или без JS).
В частности, спецификации не работают, когда я делаю утверждения вроде Post.should have(1).record
.
Капибара просто не берет записи из БД, и база данных не очищается между запусками.
Я пытался использовать DatabaseCleaner с отключенными фиксациями транзакций - я думаю, это общий подход. Без кубиков.
Я также пытался (и в идеале предпочел бы) работать без DatabaseCleaner, используя фиксации транзакций и заставляя AR разделять одно и то же соединение между потоками ( патч, описанный José Valim ). Опять не игра в кости.
Кроме того, я также попытался переключиться между Capybara-webkit и Selenium - проблема сохраняется.
Я поставил пример приложения с базовым скаффолдом Post, который повторяет проблему: https://github.com/cabgfx/js-specs
Существует spec_helper.rb с фиксациями транзакций и общим подключением AR, а также spec_helper_database_cleaner.rb для другого сценария.
Обычно я использую Spork, но я отключил его в обоих файлах spec_helper.rb, просто чтобы исключить потенциальную точку отказа (в обоих приложениях: в «реальном» и в примере приложения).
Я разрабатываю локально, используя Pow на Macbook Air, использую OS X 10.7.3 с MRI 1.9.3 через RVM. (Я тоже пробовал на 1.9.2).
Надеюсь, у меня есть смысл - любые указания / помощь / указатели очень приветствуются!