小编joe*_*dms的帖子

PHPUnit存根抛出异常但不允许被捕获

我正在尝试使用在create调用某个方法时抛出异常的存根来测试try/catch块.它工作正常,异常被引发,但它不是我的应用程序捕获它,它停止测试的执行.有什么更好的方法可以做到这一点.

<?php
// TestCase
        $mockDao->expects($this->once())
                ->method('create')
                ->will($this->throwException(new \Exception));

        $service->addEntity($data);
?>


<?php
// Service
    public function addEntity($data)
    {
           ....

        try {
               ...
            $this->create($entity); // Test Halts with Exception
               ...
        } catch (Exception $e) {
           // Never Gets Called
           $this->handleException($e);
        }
    }
Run Code Online (Sandbox Code Playgroud)

php phpunit

8
推荐指数
1
解决办法
3163
查看次数

标签 统计

php ×1

phpunit ×1