我有以下方法返回自身以允许方法链接。
class MyClass
{
public function myMethod()
{
// Do something
return $this;
}
}
现在,当我测试这种方法,它都没关系。但PHPUnit代码覆盖率告诉我最后一行,即return,没有经过测试:事实上,“return $ this”这一行用红色标出,而。
在我的测试中,我已经用它来测试该方法返回本身:
public function testMyMethod()
{
$myClass = new MyClass;
// Test that returns true if properly set
$result = $myClass->myMethod();
$this->assertInstanceOf('MyClass', $result);
}
测试显然已过,但回线路曾标记为红色和覆盖率报告告诉该方法是不充分测试。
我如何到达“全部绿色”栏?
如果您的测试目标只是为了获得“全部绿色”栏,那么您没有正确测试 –
只要您知道您已经正确测试过,那就没有问题。软件不能识别你已经测试过的事实并不是你的问题。 100%的代码覆盖并不意味着代码是正确的。我喜欢单元测试。 –