在 xdebug 代码覆盖率中,它显示“return false;”行 (在“!$ r”下方)我的测试未涵盖。但是, $sql 基本上是硬编码的。我如何获得相关报道?我会以某种方式覆盖“$table”吗?或者为这部分测试杀死数据库服务器?
我想这可能是在告诉我我的模型写得不是很好,对吧?因为我不能很好地测试它。我怎样才能写得更好?
由于没有覆盖这一行,因此没有覆盖整个方法,并且报告关闭。
我对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;
}