2011-06-12 61 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