はらへり日記

腹に弾丸

PHPUnitでファサードモックに例外を投げさせる

例外を投げたいマン

こんなコードをテストしたいとする。

<?php

use Moga;
use NyohoException;

class Hoge {

    public function fuga()
    {
        try {
            Moga::send();
            return true;
        } catch (NyohoException $e) {
            return false;
        }
    }
}

ファサードメソッドをモック化するにはこう。

Moga::shouldReceive('send');

そしてこのメソッドに例外を投げさせるにはこう。

Moga::shouldReceive('send')->andThrow(new \NyohoException('hoge'));

参考

http://kore1server.com/202/Mockery+0.8.0+%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88