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
语句被发现代码之后的右大括号,这有点令人讨厌。
我浏览了the PHPUnit documentation,但我没有看到任何非黑客的方式让它考虑所涉及的线路。 (我考虑在方法结束时添加一个死代码return
语句,或者每次使用Mage::throwException
时我们必须做的任何事情。)
我是否可以通过某种方式教授PHPUnit Mage::throwException
总是抛出异常,所以对待它(就覆盖范围而言)与throw new WhateverException()
一样?< / p>
答案 0 :(得分:1)
我也有这个问题。
只是做:
throw Mage::getException(...);
并在getException中返回异常对象。否则你会坚持下去。