У вас есть несколько вариантов здесь:
One: по этой ссылке: http://net.tutsplus.com/tutorials/ruby/writing-an-api-wrapper-in-ruby-with-tdd/
Это объясняет, шаг за шагом, как это сделать с помощью webmock и видеомагнитофона камня. Идея заключается в том, что вы запускаете свои тесты против живой базы данных в первый раз, vcr записывает их, а затем ваши тесты будут работать с записанными ответами.
Два: вы можете запускать свои тесты против нового db в среде виртуальной машины CI. Посмотрите на файл travis.yml для Neography:
сценарий: "расслоение Exec грабли Neo4j: установить Neo4j: начать спецификации --trace"
и результаты: http://travis-ci.org/#!/maxdemarzi/neography
Три: Вы можете запустить тестовый db на другом номере порта, чем ваш dev или prod db, указать неографию на то, что в вашем spec-файле, и иметь на нем.
Это хороший вопрос, так что я буду делать пост на нем в своем блоге один из этих дней в http://maxdemarzi.com
спасибо max! Меня больше интересовал способ издеваться над объектом низкого уровня, который находится в синатре, независимо от его фактической функциональности. – Dan
Я нашел свой ответ. Я также открыл проблему в неографии; вы можете посмотреть. https://github.com/maxdemarzi/neography/issues/39 – Dan