php构建工具 - PHP中的测试驱动开发




unit-testing tdd (5)

PHPUnit是一个标准,但它有时也是压倒性的,所以如果你觉得它太复杂,请检查一下phpt让你开始。 编写测试非常非常简单。 对于任何程序员来说,都不是一件容易的事

并回答您的TDD问题 - 我不确定TDD是否在PHP空间中使用。 我可以看到,快速的应用程序开发和TDD有些冲突(严格恕我直言)。 TDD要求您完整地了解自己构建的内容,并提前编写测试,然后实施代码以使测试通过。

所以比如说我们做的就是在完成后写很多测试。 这并不总是最好的方法,因为有时候最终通过了一些虚假的测试,但是并不是很有用,但至少可以扩展。 在内部,我们继续进行测试,基本上为每个发现的bug编写一个测试。 这是如何变得更加坚实。

https://code.i-harness.com

我是一个使用PHP开发的Web开发人员。 我在使用C#桌面应用程序中的测试驱动开发方面有一些有限的经验。 在这种情况下,我们使用nUnit作为单元测试框架。

我想开始在新项目中使用TDD,但是我真的不知道从哪里开始。

你对基于PHP的单元测试框架有什么建议?对于TDD概念相当陌生的人来说,有什么好的资源?


SimpleTest是一个很棒的系统。 我从5个月前开始使用它,从来没有听说过TDD,SimpleTest很容易学习,但仍然强大。 至于资源方面,我现在正在阅读Kent Beck的TDD By Example ,这很好。


我个人比较喜欢SimpleTest。 有一个命令行测试运行器和基于Web的测试运行器,甚至还有一个Eclipse 插件让你从IDE本身运行单元测试。 我发现Zend到PHPUnit的连接要难得多,特别是在调试器的情况下。

我们在内部使用SimpleTest的方式是使用我们自己编写的持续集成脚本。 每次我们检查SVN的功能,我们包括单元测试。 CI脚本每隔一小时左右运行一次,并调用一个命令行PHP脚本来运行我们所有的单元测试。 如果有任何中断,我收到一封电子邮件。 这是减少我们系统中的错误的好方法。

但是,您可以像使用Phing一样轻松地在cron作业或SVN签入挂钩上自动运行测试。

事实上,如果你想直接联系我以获得进一步的帮助,你可以通过我的个人资料信息找到我。 我很乐意帮助你。


我使用了PHPUnit和SimpleTest ,我发现SimpleTest更容易使用。

就TDD而言,我从来没有在最纯粹的意义上运气。 不过,我认为这主要是一个时间/纪律问题。

事后添加测试有些有用,但我最喜欢的事情是使用编写SimpleTest测试来测试我必须修复的特定错误。 这样可以很容易地验证事实上是否已经修复并保持不变。


另一个现代的工具,你应该看看它是Codeception 。 它比PHPUnit简单得多,并且包含了场景驱动的方法,这对于从测试生成文档非常有用。





tdd