Тестирование Rails 6 - ошибка «Не удалось найти таблицу» в ранее удаленной таблице - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь написать тест для моего приложения rails. В первой строке определения моего самого первого теста rails выдает эту бесполезную ошибку:

Error:
LabStationTest#test_prioritize_students_basic:
ActiveRecord::StatementInvalid: Could not find table 'equipment'

equipment - таблица, которую я удалил в предыдущей миграции. В моем коде больше нет ссылок на него, и с тех пор я выполняю такие команды, как rails db:drop, rails db:migrate, rails db:reset и rails db:test:prepare несколько раз, но безрезультатно.

Я попытался найти слово «оборудование» в масштабах всего проекта и по какой-то причине нашел выражение CREATE TABLE IF NOT EXISTS "equipment", оставшееся в structure.sql. Я не уверен, уместно ли это или как безопасно удалить его, и я не смог найти никаких других ссылок на этот термин.

Rails - это здорово, но это абсолютно сводит меня с ума, как кодеген разбрасывает скрытые ссылки на все над местом. Кто-нибудь знает, что мне делать дальше?

1 Ответ

0 голосов
/ 07 февраля 2020

Вскоре после публикации я обнаружил устаревшие модели, оставшиеся в test/fixtures - это, кажется, виновник.

Подобные ошибки - мое самое большое разочарование в Rails, они ставят под сомнение "соглашение о Конфигурация "Парадигма для меня. Было бы не так плохо, если бы они хотя бы включили трассировку стека в сообщения об ошибках, но даже с флагом -v они обычно дают мало полезной информации

...