为什么将测试断言集成到测试类中是不错的主意?
例如:
class SomeClass {
function add($a) {
return $a + 1;
}
function test_add($TestCase) {
$TestCase->assertEquals($this->add(1), 2);
$TestCase->assertEquals($this->add(2), 3);
}
}
然后一些框架在所有test_ *函数上运行,传递它们TestCase对象
这种方法有什么问题?为什么所有框架都倾向于将类实现代码和测试断言分开?
答案 0 :(得分:0)
我的第一个想法是这样做的班级规模。我发现作为经验法则,我为每行实际代码编写了3行测试代码。所以你的班级人数会增加300%。
另一个问题是组织。您的测试将穿插在类方法中。将东西放在容易找到的地方会变得更加困难。
与此同时,我们班级现在做的事情比过去多得多。它现在正在执行我们需要的任何功能,它还测试功能是否正确。那两个不同的东西表明它们应该是两个不同的类别。