Я боролся с этим некоторое время и ничего не нашел. Я надеюсь, что вы можете мне помочь.
У меня есть локальная среда в Lumen с некоторыми базами данных, а также у меня есть несколько тестов для проверки API. В местном все отлично работает. Я даже проверил с несколькими компьютерами, и все тоже отлично работает. Проблема заключается в том, что я загружаю его в нашу предварительную производственную среду, где тесты не выполняются.
Предварительная производственная среда работает PHP 7,3 , Laravel 6,4 .0 , MySQL 5.7 и alpine Linux
Это один из тестов, которые не пройдены:
public function testUserSearch() {
$userA = factory(User::class)->create();
$userB = factory(User::class)->create();
$url = '/api/users/search?name=' . $userA->name;
echo $userA;
$this->actingAs($userA, 'api')->get($url)
->assertJsonFragment(['id' => $userA->id])
->assertJsonMissing(['id' => $userB->id])
->assertStatus(200);
}
Фабрика пользователей:
$factory->define(User::class, function (Faker $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'password' => 'password',
'api_token' => Str::random(60),
'language' => 'es',
'role_id' => 1,
'remember_token' => Str::random(10),
];
});
Миграция таблицы пользователей:
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->string('language')->default('es');
$table->string('place')->nullable();
$table->string('category')->nullable();
$table->boolean('checkin_notification')->default(false);
$table->unsignedBigInteger('role_id')->default(self::DEFAULT_ROLE);
$table->rememberToken();
$table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade')->onUpdate('cascade');
$table->timestamps();
});
Таблица ролей:
Schema::create('roles', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('ident')->unique();
$table->text('description');
$table->boolean('active')->defualt(0);
$table->integer('level')->default(99);
$table->timestamps();
});
И ошибка, которую я получаю:
Заранее спасибо!