我可能不理解测试的概念。 这是一个功能:
$qb->select('u')
->from('User', 'u')
->where('u.id = ?1')
->orderBy('u.name', 'ASC');
然后“非常”容易编写模拟,替换,期望参数,期望结果等等。这也与数据库分离(不需要真正的数据库)。
但如果我错过订购怎么办?我仍然可以为它编写一个很好的测试,而不确定它是否真的有效。 另一个例子:
function add($a, $b)
{
return $a-$b;
}
我们想象的测试:
function testAdd()
{
$a = 1;
$b = 4;
$mock = $this->getMock(test);
$mock->expects($a)->once()->with(1);
$mock->expects($b)->once()->with(4);
$this->assertEquals (-4324,534, add($a, $b);
}
这个(虚构的)测试类似于上面的数据库测试。让我们采取一些参数,期望它们运行一次,并产生假值。但实际上,我仍然不知道我的“添加”方法效果很好。