Это происходит потому, что cache_classes имеет значение false, как того требует Spork.Capybara перезагружает классы Rails для каждого запроса (или, если быть точным, промежуточное ПО Rails выполняет, что не требуется для обычных тестов), и это выводит из строя фабрики (именно поэтому, я не уверен).Вы можете либо перезагрузить их, либо просто запустить спецификации Capybara за пределами Spork.
Таким образом, вам нужно две вещи: запускать Capybara только вне Spork и установить для cache_classes значение false только для Spork.
Чтобы запускать Capybara только вне Spork, у меня есть Guardfile, который запускает спецификации в спецификации / запросах вне Spork и других спецификациях внутри Spork здесь:
https://gist.github.com/1731900
Затем вconfig/environments/test.rb
:
config.cache_classes = !ENV['DRB']
Ваши характеристики Capybara будут немного медленнее, так как они должны загружать рельсы, но все будет просто работать.