Edited at

PHPUnitで例外が投げられてるかを確認するテストの書き方

More than 1 year has passed since last update.

    public function testDeleteFail() {

// 例外が起きるようにモックを設定
$BlogEntryMock = $this->getMockForModel('Blogs.BlogEntry', ['deleteAll']);
$BlogEntryMock->expects($this->once())
->method('deleteAll')
->will($this->returnValue(false));

// 例外のテスト
$this->setExpectedException('InternalErrorException');
$BlogEntryMock->deleteEntryByKey(1);
}


setExpectedException()が廃止予定(2018/07/15追記)

参考 https://github.com/NetCommons3/NetCommons3/issues/1212

PHPUnit的には expectException() 使ってねってことみたいだけど、NetCommons3でも採用されてる CakePHP2だと同名のメソッドがあって、そっちも廃止予定のdeprecated…

代替え手段としては expectExceptionCode()expectExceptionMessage() あたりですかね。