我正在使用拉拉-测试助手包杰弗里方式在拉拉4测试我的模型。当我用
protected $softDelete = true;在我的模型中,以下断言失败:
public function testMyModel()
{
$obj = Factory::create('Modelname');
Assert::equals(1,$obj->count());
}当我在没有$softDelete变量的情况下运行测试时,它工作得很好。有什么不好的线索吗?这是phpunit命令的堆栈跟踪,如果有任何帮助的话:
/var/www/project/vendor/way/laravel-test-helpers/src/Way/Tests/TestFacade.php:41
/var/www/project/vendor/way/laravel-test-helpers/src/Way/Tests/TestFacade.php:25
/var/www/project/vendor/way/laravel-test-helpers/src/Way/Tests/TestFacade.php:55
/var/www/project/app/tests/models/ModelTest.php:13
/var/www/project/app/tests/models/ModelTest.php:13发布于 2013-08-01 12:23:07
Factory::create()将为您的模型创建随机变量。因为您使用的是“softDelete”--您的表中有一个名为“deleted_at”的字段。所以工厂把数据放进去了,Laravel认为记录被删除了,所以->count()返回0。
您需要显式地将deleted_at的工厂默认值设置为null,如下所示:
$obj = Factory::create('Modelname', array('deleted_at' => null));https://stackoverflow.com/questions/17990823
复制相似问题