【发布时间】:2018-12-17 04:25:01
【问题描述】:
我正在使用 PHPUnit 为将数据存储在数据库中的存储函数创建单元测试。
目前,我有一个测试验证它是否已存储数据。
但是,我还想创建一个测试,以证明如果模型保存功能失败,则已生成 laravel 日志消息。
下面的代码显示了存储功能。 “log::info”是我要测试的行。
谢谢。
public function store(Venue $venue){
$saved = $venue->save();
if($saved == false){
Log::info('Failed to Save Venue'. $venue);
}
}
这是我目前所拥有的,我传递了一个空模型,由于数据库限制,该模型将导致保存失败
public function test_venue_store_failed(){
$venue = new Venue();
$venueRepo = new VenueRepository();
$this->withExceptionHandling();
$venueRepo->store($venue);
}
【问题讨论】:
-
也许像
if(!$saved){ $saved = 'Failed to Save Venue'. $venue; Log::info($saved); } return $saved; -
下面我已经回答了 3 个想法 :),希望其中一个能帮助您解决问题。
-
我确实这么认为。可能你应该尝试调试
$saved而不是$venue。或者在保存之前转储$venue。
标签: php laravel unit-testing laravel-5 phpunit