我是一个网站开发人员在PHP中工作。我在C#桌面应用程序中使用测试驱动开发的经验有限。在这种情况下,我们使用nUnit作为单元测试框架。
我想开始在新项目中使用TDD,但我真的不确定从哪里开始。
对于基于PHP的单元测试框架,您有什么建议?对于刚刚接触TDD概念的人,有哪些好的参考资料?
发布于 2008-09-08 21:18:36
我强烈推荐Test-Driven Development by Kent Beck (ISBN-10: 0321146530)。它不是专门为PHP编写的,但是其中的概念已经存在,并且可以很容易地转换为PHP。
发布于 2008-09-05 17:24:54
PHPUnit是一个标准,但有时它也是压倒性的,所以如果你觉得它太复杂了,请查看phpt开始吧。在其中编写测试非常非常容易。对任何程序员来说都不需要动脑筋。
回答你的TDD问题--我不确定TDD是否在PHP空间中使用了widley。我可以看到快速应用程序开发和TDD有些冲突(严格地说是IMHO)。TDD要求您对构建的内容有一个完整的了解,您需要预先编写测试,然后实现代码以使测试通过。
例如,我们所做的是,当我们完成时编写大量的测试。这并不总是最好的方法,因为您有时会得到通过的虚假测试,但这些测试并不是真正有用的,但至少它是您可以扩展的东西。在内部,我们继续进行测试,基本上为我们发现的每个bug编写一个测试。这就是它变得更加坚实的原因。
发布于 2008-09-05 21:56:36
我个人更喜欢SimpleTest。有一个命令行测试运行器和基于web的测试运行器,甚至还有一个Eclipse可以让您从plugin本身运行单元测试。我发现Zend to PHPUnit连接很难使用,特别是在使用调试器时。
我们内部使用SimpleTest的方式是使用我们自己编写的continuous integration脚本。每次我们将一个特性签入到SVN时,我们都会包含单元测试。大约每隔一个小时,CI脚本就会运行一次,并调用一个运行所有单元测试的命令行PHP脚本。如果有中断,我会收到一封电子邮件。这是一个很好的方法来减少我们系统中的bug。
但是,您可以很容易地使用诸如Phing之类的工具来自动运行测试,无论是在cron作业上还是在SVN check-in钩子上。
事实上,如果你想直接联系我寻求进一步的帮助,你可以通过我的个人资料来联系我。我很乐意帮你。
https://stackoverflow.com/questions/46276
复制相似问题