【发布时间】:2018-01-03 14:20:39
【问题描述】:
寻求一些帮助以编写更好的代码/测试,但似乎马上就偶然发现了一个问题 - 任何帮助将不胜感激。
脚本:
$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) Tests\Feature\Account\Supplier\Feeds\SupplierFeedFactoryTest::testBuild 断言抛出“Exception”类型的异常失败。
【问题讨论】:
-
在测试代码之前必须表达期望。否则,它们毫无用处。就像你在雨停后买伞一样。在您的情况下,调用
$this->expectExceptionMessage()的行没有运行,因为(还有什么?)测试代码 (SupplierFeedFactory::build()) 引发了异常。
标签: exception-handling phpunit