PHPUnit not catching exception
寻找一些帮助来编写更好的代码/测试,但似乎偶然发现了一个问题 - 任何帮助都将非常感激。
脚本:
1 2 3 4 5 6 7 | $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."); } |
测试:
1 2 3 4 5 | public function testBuild() { SupplierFeedFactory::build('MusicMagpie', 1); $this->expectExceptionMessage("Invalid feed type given."); } |
错误:
有1次失败:
1)测试功能帐户供应商供稿 SupplierFeedFactoryTest :: testBuild
无法断言抛出"异常"类型的异常。
PHPUnit方法是文字的,EXPECTexception所以你要做的就是在异常实际发生之前把它放在那里。
1 2 3 4 5 6 | public function testBuild() { $this->expectException('Exception'); $this->expectExceptionMessage("Invalid feed type given."); SupplierFeedFactory::build('MusicMagpie', 1); } |