Как запустить спецификации и/или тесты Ruby в MacVim, не блокируя MacVim?

Около 6 месяцев назад я перешел с TextMate на MacVim для всей моей работы по разработке, которая в основном состоит из кодирования на Ruby, Ruby on Rails и JavaScript.

С TextMate всякий раз, когда мне нужно было запустить спецификацию или тест, я мог просто нажать +R в файле теста или спецификации, и открывалось другое окно, и результаты отображались в «красивом» формате. Если спецификация или тест были длинными, я мог просто продолжить работу с кодовой базой, поскольку тест/спецификация выполнялись в отдельном процессе/окне. После запуска теста я мог щелкнуть результаты прямо по соответствующей строке в файле спецификаций.

Превосходный плагин rails.vim Тима Поупа очень близко подходит к эмуляции этого поведения в среде MacVim. Запуск: Rake, когда текущий буфер является тестом или спецификацией, запускает файл, а затем разбивает буфер для отображения результатов. Вы можете перемещаться по результатам и переходить к соответствующему месту в файле.

Проблема подхода rails.vim заключается в том, что он блокирует окно MacVim во время выполнения теста. Это может быть проблемой с большими приложениями, которые могут иметь много встроенных в тесты настроек/демонтажа. Кроме того, визуальные красные/зеленые результаты html, которые отображает TextMate (я полагаю, с помощью --format pretty), немного легче сканировать, чем разделенное окно.

Этот парень приблизился к этому около 18 месяцев назад: " rel="nofollow">http://cassiomarques.wordpress.com/2009/01/09/running-rspec-files-from-vim-showing-the-results-in-firefox/ Сценарий, который он работал с небольшим взломом, но тесты по-прежнему выполнялись в MacVim и блокировали текущее окно.

Любые идеи о том, как полностью воспроизвести поведение TextMate, описанное выше, в MacVim?

Спасибо!


person Henry    schedule 05.10.2010    source источник
comment
Рассматривали ли вы возможность использования автотеста для автоматического запуска ваших тестов?   -  person Himanshu    schedule 07.10.2010
comment
Да, я использую автотест, но лично мне по-прежнему нужен описанный выше рабочий процесс, особенно при работе с некоторыми функциями, которые касаются только подмножества файлов.   -  person Henry    schedule 07.10.2010


Ответы (2)


Существует плагин под названием vim-addon-background-cmd, который позволяет вам запускать задачи в фоновом режиме, а не блокировать интерфейс vim. Вам нужно будет создать вызов для запуска фоновой команды. См. документацию. для получения дополнительной информации о том, как это сделать.

person claytron    schedule 08.10.2010

Несколько месяцев назад я искал точно такую ​​же вещь. Затем я обнаружил автотест с помощью rspec. Теперь я держу открытым отдельное окно терминала, в котором отображаются мои последние запущенные тесты. Если я изменяю какие-либо соответствующие файлы кода, мои тесты автоматически запускаются для меня (файлы отслеживаются, и если они изменяются, тесты запускаются).

Если вы хотите такое же поведение типа автотеста в проекте, отличном от Rails, вы можете посмотреть гем watchr. Его функциональность аналогична автотесту, но вы можете использовать его в ЛЮБОМ фреймворке.

person Lan    schedule 23.12.2010