Сбросить автоинкремент (id) при запуске набора тестов? - PullRequest
0 голосов
/ 10 июля 2019

Допустим, у меня есть этот тест:

class test extends TestCase
{
    use RefreshDatabase;

    /** @test */
    public function test_ids_example()
    {
        $courses = factory(Post::class, 3)->create();
        $this->assertEquals([1, 2, 3], $courses->pluck('id')->toArray());
    }

    /** @test */
    public function test_ids_example_2()
    {
        $courses = factory(Post::class, 4)->create();
        $this->assertEquals([1, 2, 3, 4], $courses->pluck('id')->toArray());
    }
}

Когда я запускаю тест один за другим, он проходит .. но когда я запускаю весь тестовый файл, я получаю эту ошибку:

test::test_ids_example_2
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
 Array (
-    0 => 1
-    1 => 2
-    2 => 3
-    3 => 4
+    0 => 4
+    1 => 5
+    2 => 6
+    3 => 7
 )

Поскольку тесты не сбрасывают автоприращение "id", хотя я добавил черту " RefreshDatabase ".Как это решить?Как я могу оставить идентификатор для каждого теста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...