Ответы пользователя по тегу Codeception
  • Почему не находится запись в базе данных при проведении теста?

    @DimkaI Автор вопроса
    Системный адинистратор, разработчик ПО
    Эх, видимо мой вопрос не такой уж и простой.
    Удивительно, но следующие строки показывают, что запись в базе данных появилась:
    $count = count(Types::find()->where([ 'name' => $validName ])->all());
    $this->assertGreaterThan(0, $count);
    $this->assertEquals(1, $count);

    То есть найдена одна запись. А следующая команда её не находит:
    $this->tester->seeInDatabase('types', [ 'name' => $validName ]);

    Такое впечатление, что взаимодействие происходит с разными слепками базы данных.
    И, действительно, код из теста:
    $this->tester->haveInDatabase('types', [ 'name' => $validName ]);

    после выполнения теста, в рабочую базу добавляет запись, чего тесты в принципе делать не должны.

    Вопрос остаётся открытым, как правильно написать конфиг, чтобы результат теста искался в слепке базы для тестов, а не в реальной?
    Ответ написан
    Комментировать