Magento には、例外をスローする直前に追加のレポートを行う静的メソッドがあります。
/**
* Throw Exception
*
* @param string $message
* @param string $messageStorage
* @throws Mage_Core_Exception
*/
public static function throwException($message, $messageStorage = null)
{
if ($messageStorage && ($storage = self::getSingleton($messageStorage))) {
$storage->addError($message);
}
throw new Mage_Core_Exception($message);
}
例外をスローすることが保証されているため、PHPUnit のコード カバレッジが、Mage::throwException
ステートメントの後の右中括弧をカバーされていないコードと見なすのは少し面倒です。
私はPHPUnitのドキュメントを調べましたが、行がカバーされていると見なすための非ハックな方法は見当たりません。(メソッド hacky の最後にデッドコードreturn
ステートメントを配置するか、実際には を使用するたびに実行する必要のあるすべてのステートメントを配置することを検討していますMage::throwException
。)
Mage::throwException
常に例外をスローするPHPUnit を教える方法はありますか? (カバレッジに関して) 同じように扱いthrow new WhateverException()
ますか?