我正在努力养成在实际上课之前编写单元测试的习惯。堆栈溢出社区可以给我什么指示以及任何有用的资源。
谢谢你
首先编写测试背后的想法是在编写代码之前您就知道代码将要做什么。因此,您列出了您希望它做什么,以及您希望如何使用每个功能。然后,您为每个功能编写一个测试(随意编写多个,或者测试对象的功能需要多少个。)
现在,你有了你的类的框架。您的第一个目标应该是通过添加类中使用的所有方法来编译测试。然后通过正确实施方法使测试通过。
繁荣 - 测试驱动开发继续你的简历!:-)
这是一个很好的起点。它包含一个非常好的 TDD 入门,以及指向其他资源的完整链接列表:
我只有一个指针:
考虑一个方法应该做什么以及它应该如何表现,而不是你将如何对其进行编码。
这将允许您在不编写任何代码的情况下计划单元测试(或者甚至计划出来,就此而言)。
我通常通过编写一组业务规则作为我的类或脚本的 PHPDocs 的一部分来完成我的 TDD(使用 PHPUnit)。我不编写代码,只编写业务规则(例如,如果...,Foo 将抛出异常等)。在我准备好之后,我开始编写针对每个业务规则的测试用例。我发现首先编写业务规则可以帮助我建立一些界限,并且测试用例塑造了实际的代码。