2011-06-12 64 views
4

我有一個需求,即需要通過命令行以及圖形調試器來運行測試。圖形調試器應該在Apache上運行代碼。在Apache和Nusphere上的PHPUnit和SimpleTest PhpED

我試過SimpleTest,它在兩種情況下都能正常工作,但PHPUnit只能在命令行上工作。我正在使用NuSphere PhpED進行調試,並且我無法使phpunit運行。

當我從編輯器運行Simpletest時,它運行爲php命令,但PHPUnit將不得不通過$ phpunit命令運行。我無法理解這項工作將會如何。

Apache上有一個php調試器模塊,我可以用simpletest單步執行代碼。有沒有PHPUnit調試器模塊?

我的服務器是Linux,但我的編輯器是在windows上。是否有可能運行這樣的測試?

也可以運行PHPUnit而不通過PEAR安裝,就像Simpletest - 我們剛剛複製文件夾幷包含autorun文件。

我對這兩個工具都很陌生,我需要決定使用哪一個,並與Hudson/Maven集成。

請指導我,因爲我是新手。

感謝 薩米特

+0

贊同@Davids的一些更多論據可靠答案[在PHP中啓動什麼單元測試](http://stackoverflow.com/questions/4624093/what-unit-testing-in-php-to-start/4625909 #4625909) – edorian 2011-06-13 02:15:08

回答

4

我們從SimpleTest的遷移到PHPUnit的略高於一年前,已經很幸福了。 SimpleTest被放棄,而PHPUnit則通過定期發佈和未來計劃積極開發。即使我們的應用程序是在Apache後面運行的CMS,我們也從命令行和NetBeans IDE在Ubuntu和Windows計算機上運行PHPUnit。

對於持續集成,請查看Templates for Jenkins Jobs for PHP Projects。它集成了PHPUnit進行測試以及PHPMD,PHPCPD,PHP Depend,PHPLOCPHP CodeSniffer

我不能完全回答你關於在web調試器中運行PHPUnit的原始問題。您可以使用PEAR安裝PHPUnit並查看運行它的腳本。除了最初的shell腳本外,它都是PHP,但只要做一些工作,你就可以在PHP中編寫一個類似的腳本來設置你的環境,並調用合適的TestRunner

+0

嗨大衛, 感謝您的回覆。 因此,當您使用NetBeans IDE進行使用phpunit的調試時,是否可以逐步執行實際在Apache服務器上運行的代碼? 我確實看到了關於使用NetBeans的一些討論,並想知道是否應該切換到目前我正在使用NuSphere PhpED。 我們是否還需要像Maven那樣的任何構建工具來爲Jenkins運行? 感謝您的鏈接。這真的很有用。 – Sumitk 2011-06-13 02:05:16

+0

@Sumitk,你需要一個構建工具。 shell腳本,ant,maven,phing。您的選擇:) ---使用xDebug時,您可以使用netbeans來調試apache進程。 (我不知道NuSphere)。並添加一些更無恥的自我推銷:[爲PHP項目設置jenkins](http://edorian.posterous.com/setting-up-jenkins-for-php-projects)。如果你想要一些不適合SO問題的輸入,你也可以跳入PHP SO聊天) – edorian 2011-06-13 02:22:49

+0

@David,感謝您的鏈接。我有一個問題:如果我通過Apache上的NetBeans IDE運行單元測試,它是否像運行服務器上的$ phpunit testFile.php一樣工作?我正在爲NetBeans配置我的env,所以想知道。我會試試看,如果遇到任何問題,請告訴我們。 Thnks再次! – Sumitk 2011-06-13 05:20:37