простой тест в laravel в методе создания - PullRequest
1 голос
/ 23 января 2020

Я хочу просто протестировать свою модель, чтобы увидеть, может ли она быть создана или нет, вот что я попробовал:

    public function it_test_insert_model(){
//        $this->actingAs(User::class);
        $wish = factory(Model::class)->create();
        $this->post('/model/create',$wish->toArray());
        $this->assertEquals(1,Model::all()->count());
    }

Теперь моя проблема в том, что каждый раз она терпит неудачу, потому что она должна равняться числам models у меня в столе. Есть ли способ просто создать один и проверить, если он был создан, а затем удалить его ??? потому что теперь каждый раз он остается в базе данных. я просто хочу проверить, может ли модель быть создана или нет. спасибо

1 Ответ

1 голос
/ 24 января 2020

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

Миграции базы данных

use Illuminate\Foundation\Testing\DatabaseMigrations;

class YourTestClass {
    use DatabaseMigrations;

    public function it_test_insert_model() {
        ...
    }
}

Транзакции базы данных

use Illuminate\Foundation\Testing\DatabaseTransactions;

class YourTestClass {
    use DatabaseTransactions;

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