<?php
use App\Repositories\APIModels\SalesError as SalesError;
use App\Repositories\APIModels\Sales as Sales;
class SalesErrorTest extends \TestCase {
public function setUp()
{
parent::setUp();
}
public function testCreate()
{
$sales_error = new SalesError;
$sales_error->sale_id = 5;
$sales_error->error_type = 3;
$sales_error->description = 'Unknown error occured';
$sales_error->resolved_at = date('Y-m-d H:i:s');
$this->assertTrue($sales_error->save());
}
public function testRelation()
{
$sales = Sales::find(45)->errors();
var_dump($sales);
}
}
在上面的测试中,我运行
testCreate
它工作正常。但是当我运行其他方法时,它说PHP Fatal error: Class 'SalesError' not found in /vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php on line 878
销售模式
/**
* Has Many relation with SalesError
*
* @return object
*/
public function errors()
{
return $this->hasMany('SalesError', 'sale_id', 'sale_id');
}
销售错误模型
/**
* Has many to one relation with Sales Model
*
* @return void
*/
public function sales()
{
$this->belongsTo('Sales', 'sale_id');
}
最佳答案
您应该通过完整的 namespace
到关系。
此外,您还缺少 return
声明在 sales
关系。
public function errors()
{
return $this->hasMany('App\Repositories\APIModels\SalesError', 'sale_id', 'sale_id');
// or
return $this->hasMany(SalesError::class, 'sale_id', 'sale_id');
}
public function sales()
{
return $this->belongsTo(Sales::class, 'sale_id');
}
关于php - 找不到 Laravel 单元测试类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34216099/