我有以下方法返回自身以允許方法鏈接。
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%的代碼覆蓋並不意味着代碼是正確的。我喜歡單元測試。 –