我是一名使用PHP的网络开发人员.我在C#桌面应用程序中使用测试驱动开发的经验有限.在那种情况下,我们使用nUnit作为单元测试框架.
我想在新项目中开始使用TDD,但我真的不知道从哪里开始.
您对基于PHP的单元测试框架有什么建议?对于对TDD概念不熟悉的人来说,有哪些好的资源?
我已经使用了PHPUnit和SimpleTest,我发现SimpleTest更容易使用.
就TDD而言,从最纯粹的意义上说,我没有太多运气.我认为这主要是我的时间/纪律问题.
在事实之后添加测试有点有用,但我最喜欢的事情是使用编写SimpleTest测试来测试我必须修复的特定错误.这样可以很容易地验证事情是否已实际修复并保持不变.
我强烈推荐Kent Beck的测试驱动开发(ISBN-10:0321146530).它不是专门为PHP编写的,但其中的概念应该可以轻松转换为PHP.
PHPUnit是一个标准,但它有时也是压倒性的,所以如果你发现它太复杂,请查看phpt以帮助你入门.在其中编写测试非常非常容易.对任何程序员来说都没有道理.
并回答你的TDD问题 - 我不确定TDD是否在PHP空间中使用了widley.我可以看到快速应用程序开发和TDD有些冲突(严格来说是恕我直言).TDD要求您完整了解您构建的内容并预先编写测试,然后实现代码以使测试通过.
因此,例如我们所做的就是在完成后编写大量测试.这并不总是最好的方法,因为你有时最终会通过虚假测试,但实际上并没有用,但至少它是你可以扩展的东西.在内部我们继续测试,基本上为我们发现的每个bug编写一个测试.这就是它变得更加坚实的方式.