【发布时间】:2015-07-19 01:22:47
【问题描述】:
你好,我写了测试,想从里面的数据库中获取数据,所以我下一步
Company.php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Company extends Model
{
protected $table = 'companies';
}
MyTest.php
<?php
use App\Models\Company;
class MyTest extends TestCase {
public function testFileUploadAction()
{
$company = Company::find(1);
}
}
但有错误
致命错误:在非对象上调用成员函数 connection() 在 /myproject/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php 在第 3146 行
那么我如何在测试中从数据库中获取数据?
更新: 我所有的测试都只能在测试中从数据库获取数据时正常工作。
模型工作正常。
**更新 我找到了解决方案 错误是因为应用程序没有启动所以我添加了
$app = require __DIR__.'/../bootstrap/app.php';
$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();
一切正常
【问题讨论】:
-
请添加 routes.php 和您的 App\Models\Company 对象
-
routes.php?它会告诉你什么?
-
引用您的 MyTestController 的行。我实际上认为 TestCase 类正在扩展 Laravel 附带的 BaseController 是吗?