PHPUnit try catch在测试用例中不起作用

Sta*_*i0n 2 php phpunit exception

我试图在PHPUnit测试中捕获异常,但它不能像我预期的那样工作.异常似乎陷入了更高的层次,我不明白为什么.

public function testException()
    {
        echo 'Enter';
        try {
            throw new Exception('error.');
        } catch (Exception $e) {
            echo 'catch Exception';
        }
        echo 'End';
    }
Run Code Online (Sandbox Code Playgroud)

在输出中,只有'Enter'可见.我没有达到'结束'.(我使用的是PHP7)

谢谢

编辑:更换所有Exception\Exception解决我的问题

BVe*_*rov 5

处理异常可能很棘手,特别是当它们被调用时Exception:-)

只要查看这个(几乎相同的)问题产生的所有反馈.

现在,只有在与预期类不匹配时才会捕获异常.在这种情况下,它肯定是因为非精确的Exception类名称规范,通过将它们指定为肯定会得到修复\Exception.

正如一位评论者从提到的问题线程巧妙地提出的那样:

没有反斜杠异常是特定于命名空间的,不会匹配(或捕获).