寻找一些帮助来编写更好的代码/测试,但似乎马上遇到了一个问题 - 任何帮助都会非常感激。
脚本:
$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 声明类型"异常"的异常失败扔了。
答案 0 :(得分:1)
PHPUnit方法是文字的,EXPECTexception所以你要做的就是在异常实际发生之前把它放在那里。
public function testBuild()
{
$this->expectException('Exception');
$this->expectExceptionMessage("Invalid feed type given.");
SupplierFeedFactory::build('MusicMagpie', 1);
}