2010-10-05 25 views
4

大約6個月前,我從TextMate切換到MacVim,開展了我所有的開發工作,主要包括Ruby,Ruby on Rails和JavaScript編碼。如何在MacVim中運行Ruby規格和/或測試而不鎖定MacVim?

使用TextMate,無論何時我需要運行規範或測試,我都可以在測試或spec文件上命令+ R,並打開另一個窗口,結果將以'漂亮'格式顯示。如果規範或測試是漫長的,我可以繼續使用代碼庫,因爲測試/規範是在單獨的進程/窗口中運行的。測試運行後,我可以直接點擊結果到spec文件中的相應行。

Tim Pope的優秀rails.vim插件非常接近於在MacVim環境中模擬此行爲。運行:噹噹前緩衝區是測試或規格運行文件時分離緩衝區以顯示結果。您可以瀏覽結果並鍵入文件中的相應位置。

rails.vim方法的問題在於,它在測試運行時鎖定了MacVim窗口。這可能是一個大型應用程序的問題,它可能會在測試中內置很多setup/teardown。此外,TextMate顯示的可視紅/綠html結果(通過--format漂亮,我假設)比分割窗口更容易掃描。

這個傢伙在18個月前就來了:http://cassiomarques.wordpress.com/2009/01/09/running-rspec-files-from-vim-showing-the-results-in-firefox/他用一些黑客工作的腳本,但是測試仍然在MacVim內運行並鎖定當前窗口。

有關如何在MacVim中完全複製上述TextMate行爲的任何想法?

謝謝!

+0

您是否考慮過使用自動測試來自動運行測試? – Himanshu 2010-10-07 01:14:59

+0

是的,我使用自動測試,但我個人仍然發現我需要上述的工作流程,尤其是在通過僅涉及文件子集的某些功能進行工作時。 – Henry 2010-10-07 15:57:20

回答

1

有一個名爲vim-addon-background-cmd的插件可以讓你在後臺運行任務而不是鎖定vim接口。您將不得不創建調用來運行後臺命令。有關如何做到這一點的更多信息,請參閱docs

0

幾個月前,我一直在尋找同樣的東西。然後我發現了rspec自動測試。現在我打開一個單獨的終端窗口,顯示我上次運行的測試。如果我更改任何相關代碼文件,我的測試會自動運行(文件被監視,如果它們更改測試運行)。

如果您想在非導軌項目中使用相同的自動測試類型行爲,您可以查看看守寶石。它的功能類似於自動測試,但您可以在任何框架中使用它。