PHPUnit覆盖率测试elseif错误
PHPUnit coverage test elseif error
好的,所以我正在查看代码,并且正在进行 php 单元覆盖率测试。在上述测试中,我只得到 2 行不能正常工作:
private function getEarliestDateOrNull($snapshotDate = null, $preexistingEpisodeDate = null)
{
$date = null;
if ($snapshotDate instanceof DateTime && $preexistingEpisodeDate instanceof DateTime) {
$date = $snapshotDate < $preexistingEpisodeDate ? $snapshotDate : $preexistingEpisodeDate;
} elseif ($snapshotDate instanceof DateTime) {
$date = $snapshotDate;
} elseif ($preexistingEpisodeDate instanceof DateTime) {
$date = $preexistingEpisodeDate;
}
return ($date instanceof DateTime) ? $date->format('m/d/Y') : null;
}
问题出在我的 getEarliestDateorNull 中,这两个 elseif 语句是测试出于某种原因没有读取的唯一语句。有没有办法从 elseif 语句中更改它们?我的意思是说,如果可以有一个 SWITCH 实现。测试在 php 7.
中运行
经过反复试验,如果将其设置为 else if
而不是 elseif
,它应该可以工作:)
好的,所以我正在查看代码,并且正在进行 php 单元覆盖率测试。在上述测试中,我只得到 2 行不能正常工作:
private function getEarliestDateOrNull($snapshotDate = null, $preexistingEpisodeDate = null)
{
$date = null;
if ($snapshotDate instanceof DateTime && $preexistingEpisodeDate instanceof DateTime) {
$date = $snapshotDate < $preexistingEpisodeDate ? $snapshotDate : $preexistingEpisodeDate;
} elseif ($snapshotDate instanceof DateTime) {
$date = $snapshotDate;
} elseif ($preexistingEpisodeDate instanceof DateTime) {
$date = $preexistingEpisodeDate;
}
return ($date instanceof DateTime) ? $date->format('m/d/Y') : null;
}
问题出在我的 getEarliestDateorNull 中,这两个 elseif 语句是测试出于某种原因没有读取的唯一语句。有没有办法从 elseif 语句中更改它们?我的意思是说,如果可以有一个 SWITCH 实现。测试在 php 7.
中运行经过反复试验,如果将其设置为 else if
而不是 elseif
,它应该可以工作:)