我试图进入单元测试为它引入的明显积极,我试图编写一个单元测试我为前一天写的类。 (我知道这与TDD相反,请耐心等待)PHPUnit测试问题 - 如何单元测试我的课
我的课程Image
与其他一些用于图像处理。
Image
本质上包装GD图像资源并将数据与其一起存储。例如,Image
一个实例将始终包含它的当前状态,即其新的宽度/高度,如果调整,将原始图像数据等
的Image
类也包含了方法,
- 创建本身来自文件,字符串数据或URL,例如
$image->loadFromPath()
- 从当前的
Image
实例的属性创建新的GD图像资源,例如,图像大小调整,以保持背景透明度等 - 克隆使用的GD图像资源的操作类
我挣扎什么是单位如何测试这个类正确以及PHPUnit。我已经完成了一些阅读,并且我对如何解决这个问题有一些矛盾的想法,我不知道什么是正确的。
- 为类的每种方法写一个测试。我在某处读到我应该测试每种方法。然而,一些方法运行其他方法(我可以添加),所以你有一个依赖链。但我也读过每个单元测试应该独立于另一个。那么如果是这样的话我该怎么办?
- 将每个测试写为类的使用路线。我还在某处读到,每个测试应该代表1个路径/使用路线,您可以在课程中使用。因此,如果您覆盖每一种用法,您最终将获得完整的代码覆盖率。
那么,哪些是正确的,如果有的话?
你知道代码覆盖率吗?国际海事组织(IMO)至少运行一行代码至关重要,而不是为每一种方法都创建一个测试,这对于你提到的原因并不总是必要的。 – Franz 2010-01-20 15:54:32
+1进入UnitTests – Gordon 2010-01-20 15:59:22
我知道什么代码覆盖率是肯定的,你应该瞄准100%,这就是说每一行至少应该运行一次。 因此,最好是编写测试用例,其中每个测试都是您的类执行的操作,而不是针对特定方法的每个测试? – 2010-01-20 16:00:33