PHPUnit没有捕获异常

时间:2017-07-27 17:51:37

标签: exception-handling phpunit

寻找一些帮助来编写更好的代码/测试,但似乎马上遇到了一个问题 - 任何帮助都会非常感激。

脚本:

$feed = 'App\Http\Services\Supplier\Feeds\\' . ucwords($feedName) . "Feed";

if (class_exists($feed)) {
    return new $feed($headerRowToSkip);
} else {
    throw new Exception("Invalid feed type given.");
}

测试:

 public function testBuild()
{
    SupplierFeedFactory::build('MusicMagpie', 1);
    $this->expectExceptionMessage("Invalid feed type given.");
}

错误:

有1次失败:

1)测试\功能\帐户\供应商\供稿\ SupplierFeedFactoryTest :: testBuild 声明类型"异常"的异常失败扔了。

1 个答案:

答案 0 :(得分:1)

PHPUnit方法是文字的,EXPECTexception所以你要做的就是在异常实际发生之前把它放在那里。

public function testBuild()
{
    $this->expectException('Exception');
    $this->expectExceptionMessage("Invalid feed type given.");
    SupplierFeedFactory::build('MusicMagpie', 1);
}