Таблица PHPUnit DbUnit не найдена

Я получаю очень странную ошибку при запуске модульного теста:

PDOException: SQLSTATE [42S02]: Базовая таблица или представление не найдено: 1146 Таблица «test.result» не существует

/var/www/html/project1/rami/tests/Data/Models/DataImportTest.php:60

Рассматриваемый тестовый код (упрощенный, чтобы попытаться изолировать проблему):

/**
* @covers \Project1\Rami\Data\Models\DataImport::insertData
*/
public function testInsertData(): void {
$this->object->insertData(1);

$sql = 'SELECT request_id
FROM requests
WHERE request_id = 1;';

$queryTable = $this->getConnection()->createQueryTable('result', $sql);
$expectedTable = $this->createArrayDataSet([
'result' => [
[
'request_id' => '1'
]
]
])->getTable('result');

static::assertTablesEqual($expectedTable, $queryTable);
}

Что еще более странно, так это утверждения в других тестах, которые используют assertTablesEqual запустить и пройти нормально, только этот тест не пройден. PHPUnit, по-видимому, анализирует таблицу в базе данных, называемую «результатом», при создании ожидаемой таблицы (которой нет в базе данных), но он не делает этого ни для одного из других тестов.

Я попытался сбросить базу данных и воссоздать ее, перезагрузить среду разработки / тестирования (Vagrant box) и даже повторно подготовить Vagrant box с новой установкой MariaDB, но все безуспешно.

Поиск ошибки в Google показывает только проблемы, связанные с Laravel, с небольшим количеством подобных проблем в других средах PHP, но ничего не связанного с тестированием.

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

Есть идеи?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]