xdebug コード カバレッジでは、「return false;」という行が表示されます。(「! $ r」の下)私のテストではカバーされていません。ただし、$sql は基本的にハードコーディングされています。それについて報道するにはどうすればよいですか?「$table」をどうにかして上書きしますか? または、テストのこの部分でデータベース サーバーを強制終了しますか?
これはおそらく、私が自分のモデルをうまく書いていないことを示していると思いますよね? うまく検証できないからです。どうすればこれをよりうまく書くことができますか?
この1行がカバーされていないため、メソッド全体がカバーされておらず、レポートはオフになっています。
私はphpunitにかなり慣れていません。ありがとう。
public function retrieve_all()
{
$table = $this->tablename();
$sql = "SELECT t.* FROM `{$table}` as t";
$r = dbq ( $sql, 'read' );
if(!$r)
{
return false;
}
$ret = array ();
while ( $rs = mysql_fetch_array ( $r, MYSQL_ASSOC ) )
{
$ret[] = $rs;
}
return $ret;
}