簡體   English   中英

Laravel:在API測試中使用Eloquent模型

[英]Laravel : Use Eloquent Model in API Testing

我想用真正的數據庫插入和查詢來測試api,所以我嘗試使用setUpBeforeClasstearDownAfterClass方法進行前后測試過程。

<?php

use App\Models\User;

class UserTest extends TestCase {

public static function setUpBeforeClass()
{
    User::create([ 'name' => 'Tom' ]);
}

public function testStore()
{
    $this->call('POST', 'users', [
        'name' => 'Tim'
    ]);

    $this->assertResponseOk();
}

public static function tearDownAfterClass()
{
    $users = User::where('name', '=', 'Tom')
               ->orWhere('name', '=', 'Tim')->get();

    $users->each(function($user) {

        $user->delete();
    });
}

}

但是,當它沒有找到Eloquent

Fatal error: Class 'Eloquent' not found in /Applications/MAMP/htdocs/edu-api/apis/app/models/User.php on line 6

<?php namespace App\Models;

use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;

use Eloquent;

class User extends Eloquent {

我在命名空間或環境中是否有任何錯誤,甚至我不應該這樣做?

EloquentModel類的別名,因此您需要:

use Illuminate\Database\Eloquent\Model as Eloquent;

class User extends Eloquent {

或者只是擴展模型而不使用內聯別名

use Illuminate\Database\Eloquent\Model;

class User extends Model {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM