如何从Test Laravel 5中的DB获取数据

时间:2015-05-08 07:46:28

标签: php laravel-5 php-5.5

你好我写测试并希望从中获取数据,所以我接下来

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行

那么我如何在测试中从DB获取数据?

更新 只有在测试中从DB获取数据时,我的所有测试才能正常工作。

模型工作正常。

**更新 我找到了解决方案 错误是因为应用程序没有启动所以我添加了

$app = require __DIR__.'/../bootstrap/app.php';

$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();

并且一切正常

1 个答案:

答案 0 :(得分:2)

我发现解决方案错误是因为应用程序没有启动所以我添加了

var query = PFUser.query()
query.whereKey("username", equalTo:PFUser.currentUser().objectForKey("username"))
query.findObjectsInBackgroundWithBlock({(objects:NSArray, error:NSError) in
    if error == nil {
        if objects.count {
            for var object in objects {
                // here you can get object.objectID
            }
        }
    }
})

并且一切正常