Я делаю модульный тест для PHPunit. Код:
<?php
namespace Tests\Unit;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use PHPUnit\Framework\TestCase;
class ThreadTest extends TestCase
{
use DatabaseMigrations;
public function test_a_thread_has_replies()
{
$thread = factory('App\Thread')->create();
$this->assertInstanceOf('Illuminate\Database\Eloquent\Collection', $thread->replies);
}
}
Когда я запускаю PHPUnit, я получаю сообщение об ошибке:
InvalidArgumentException: невозможно найти фабрику для [App \ Thread].
У меня есть фабрика потоков:
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\Thread;
use Faker\Generator as Faker;
$factory->define(Thread::class, function (Faker $faker) {
return [
'user_id' => factory(App\User::class),
'title' => $faker->sentence,
'body' => $faker->paragraph
];
});
Если я использую фабрику в Tinker, она работает нормально.
У меня есть аналогичные тестовые функции и фабрики для других классов, и они работают нормально.
Скорее всего, я делаю очень глупую ошибку, но не могу ее найти.
Есть предложения?
С уважением,
HUbert