Оба моих теста переходят в зеленое состояние всякий раз, когда я запускаю их отдельно, но я запускаю SQLSTATE [23000] в первом тесте всякий раз, когда я запускаю их вместе.Первый тест - это тест, который я сделал ранее, который имеет смысл для приложения, второй - фиктивный тест, как вы видите.
Я возобновил сообщение об ошибке из-за большого количества классов из laravelчто он показывает, но указывает на строку 27 ('user_id' => 1).
Test
<?php
namespace Tests\Unit;
use App\User;
use App\Tournament;
use Tests\TestCase;
use Illuminate\Support\Facades\Event;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;
class TournamentTest extends TestCase
{
/**
* A basic unit test example.
*
* @return void
*/
use RefreshDatabase;
protected function setUp() : void
{
parent::setUp();
$this->withoutExceptionHandling();
factory(User::class)->create();
factory(Tournament::class)->create([
'user_id' => 1
]);
}
/** @test **/
public function index_page_shows_tournaments()
{
$user = User::first();
$response = $this->actingAs($user)->get('/tournaments');
$response->assertViewIs('tournaments.index');
}
/** @test **/
public function create_tournament_shows_number_of_challengers()
{
$this->assertTrue(true);
}
}
Ошибка
There was 1 error:
1) Tests\Unit\TournamentTest::create_tournament_shows_number_of_challengers
Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`torneio`.`tournaments`, CONSTRAINT `tournaments_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)) (SQL: insert into `tournaments` (`user_id`, `name`, `interval`, `round`, `chal_num`, `status`, `updated_at`, `created_at`) values (1, Best Cross-group neutral support, 38, 1, 8, 1, 2019-05-09 00:56:44, 2019-05-09 00:56:44))
/home/tadeusvult/dev/torneio/tests/Unit/TournamentTest.php:27
Caused by
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`torneio`.`tournaments`, CONSTRAINT `tournaments_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`))