Я думаю опыт "дзэн", который Вы ищете, должен работать spec_server
и autospec
в фоновом режиме, с результатом, являющимся почти мгновенными тестами, когда Вы сохранили файл.
Однако у меня есть проблемы, заставляя эти две программы связаться.
я нашел объяснение здесь :
я заметил, что автотест не отправляет команды в spec_server. Вместо этого это перезагружает всю среду направляющих и плагины Вашего приложения каждый раз, это выполняется. Это заставляет автотест работать значительно медленнее, чем сервер сценария, потому что, когда Вы работаете, сценарий/спецификация управляет, чтобы спецификации были отправлены в spec_server, которому уже разожгли Вашу среду направляющих и готовый пойти. Если Вы, оказывается, устанавливаете новый плагин или что-то как этот, то необходимо будет перезапустить spec_server.
, Но, как мы устраняем эту проблему? Я предполагаю, что это включило бы загрузку ZenTest и изменение кода для autotest
программа, но не имеет времени для испытания его прямо сейчас.
Что ж, если вы хотите иметь разные схемы, вам понадобится несколько баз данных. «Простое ветвление» обычно относится к системе управления версиями, а не к базам данных. Насколько я знаю, нет простого способа разветвления баз данных, как, например, в git.
Одна вещь, которую мы делаем для управления нашими ветвями разработки / производства, - это проверяем текущую ветку git в файле database.yml. Если текущая ветка является производственной, мы используем одну базу данных, в противном случае мы используем нашу базу данных разработчиков. что-то вроде этого:
<% if 'git branch' =~ /^\* production/
db = 'production_database'
else
db = 'development_database
end %>
development:
database: <% db %>
Обратите внимание, «production_database» относится к локальной версии производственной схемы, а не к действующей производственной базе данных.