PHPUnit 测试找不到工厂
PHPUnit test can't find factory
我有一个使用 JobFactory
和 ClientFactory
的单元测试。
<?php
namespace Tests\Unit;
use PHPUnit\Framework\TestCase;
class JobTest extends TestCase
{
/** @test */
function can_display_job_details()
{
$job = create('App\Job', [
'job-number' => 9999,
'site' => 'Homeville',
'client_id' => function(){
return create('App\Client', [
'name' => 'ACME'
])->id;
},
]);
$details = $job->job_details;
$this->assertEquals('EPS-9999-Homeville-RES', $details);
}
}
当我 运行 测试时我得到这个错误
InvalidArgumentException : Unable to locate factory with name [default] [App\Job].
我在功能测试中使用工厂 App\Job (JobFactory),没有任何问题。
我使用 PhpStorm 内置的 PHPUnit 测试功能。
我运行通过一个小测试助手创建和制作
<?php
function create($class, $attributes = [], $times = null)
{
return factory($class, $times)->create($attributes);
}
function make($class, $attributes = [], $times = null)
{
return factory($class, $times)->make($attributes);
}
不确定我做错了什么,但我似乎无法追根究底。
非常感谢任何帮助。
你扩展错了TestCase
class.
变化:
use PHPUnit\Framework\TestCase;
至:
use Tests\TestCase;
Here你可以找到一个例子。
我有一个使用 JobFactory
和 ClientFactory
的单元测试。
<?php
namespace Tests\Unit;
use PHPUnit\Framework\TestCase;
class JobTest extends TestCase
{
/** @test */
function can_display_job_details()
{
$job = create('App\Job', [
'job-number' => 9999,
'site' => 'Homeville',
'client_id' => function(){
return create('App\Client', [
'name' => 'ACME'
])->id;
},
]);
$details = $job->job_details;
$this->assertEquals('EPS-9999-Homeville-RES', $details);
}
}
当我 运行 测试时我得到这个错误
InvalidArgumentException : Unable to locate factory with name [default] [App\Job].
我在功能测试中使用工厂 App\Job (JobFactory),没有任何问题。 我使用 PhpStorm 内置的 PHPUnit 测试功能。
我运行通过一个小测试助手创建和制作
<?php
function create($class, $attributes = [], $times = null)
{
return factory($class, $times)->create($attributes);
}
function make($class, $attributes = [], $times = null)
{
return factory($class, $times)->make($attributes);
}
不确定我做错了什么,但我似乎无法追根究底。 非常感谢任何帮助。
你扩展错了TestCase
class.
变化:
use PHPUnit\Framework\TestCase;
至:
use Tests\TestCase;
Here你可以找到一个例子。