2013-01-13 57 views
17

我已經使用PHPUnit設置了PhpStorm 5,並且我很好奇PhpStorm是否有一些功能可以在保存文件時自動運行單元測試。像守衛和守衛一樣。我試圖搜索我們心愛的www和PhpStorm文檔,但一直未能找到解決方案。在PhpStorm中保存文件時運行單元測試

+0

PhpStorm有沒有這樣的(當文件被保存執行的東西)的能力。您可以嘗試**將**宏**錄製到1)保存文件和2)運行單元測試..然後爲其分配一些快捷方式並使用它而不是保存(顯然,如果文件自動保存,則此宏沒有捲入)。除此之外 - 尋找一些外部文件監視器,可以執行文件修改的特定操作。 ** P.S。**這是要求類似功能的票證:http://youtrack.jetbrains.com/issue/IDEA-85791 – LazyOne

+0

感謝您提供非常明確的答案@LazyOne。非常感謝! –

回答

24

截至6版本,PHPStorm有 「文件看守」

  • 打開項目的偏好。
  • 從左側選項列表中選擇文件觀察器。
  • 單擊空白右側面板底部的+符號。
  • 選擇<custom>

你將不得不設立PHPUnit的命令行,它不會是集成測試,但您可以輸出到控制檯錯誤(這是很好的一個良好的開端!)

您可以使用各種宏選項,因此您可以在傳遞給命令行的參數中包含(例如)$FileNameWithoutExtension$Test.php。我個人不得不設置兩個觀察者。第一次檢測到對項目文件的修改,第二次檢測到對測試文件的更改(第二次未將Test.php附加到文件名)我還創建了一個新的項目範圍,以將測試目錄從第一個觀察器中排除。

您可能還需要關閉即時同步,因爲這會導致PHPUnit在PHPStorm自動保存文件時運行。

我的其他設置,如:

  • 文件類型:PHP files (PHP)
  • 範圍:Project excluding tests
  • 計劃:/path/to/php
  • 參數:/path/to/phpunit --configuration /path/to/phpunit.xml.dist /path/to/tests/$FileNameWithoutExtension$Test.php
  • 工作目錄:​​
  • 輸出路徑:​​

未設置輸出過濾器,啓用語法錯誤檢查並顯示控制檯錯誤。

+0

很抱歉,遲到的迴應,但這是很好的信息!我已經升級:)非常感謝回到這個問題Leigh –

+0

很好的答案!只需按照上面的步驟操作即可。雖然PHPStorm 7的設置已經發生了一些變化,所以下面是一張圖片,其中詳細介紹了我使用的詳細信息: ** [鏈接到GDocs](https://docs.google.com/drawings/d/1mk2abn6k4cxa3HhqviVcshiwww3EvFkX_VhBtjXN3FE /編輯)** 。我還在PHPStorm Settings中創建了我自己的範圍,其中包含了我想要「觀看」的文件 –

+1

您可以使用phpunit的'--filter'選項來簡化您的配置並只需要1個觀察者。只需將參數設置更改爲'--filter $ FileNameWithoutExtension $',無論您編輯文件還是單元測試,都將執行測試。 –

1

你也可以看看TDDRunner

這是控制檯的工具,對文件的更改autmaticly執行PHPUnit的。你也可以通過只刪除一個文件來配置PHPUnit。

/usr/bin/tddrunner --group=test 

有一個German article提供進一步的細節。

相關問題