Сброс автоинкремента MySQL в качестве шага разрыва в модульном тесте Node.js. - PullRequest
1 голос
/ 07 января 2012

В настоящее время я выполняю модульные тесты на моем DAL в приложении Node.js.Я хотел бы иметь возможность работать с фиктивной базой данных, тестируя мои операции CRUD с неформальной установкой / разборкой, которая происходит на протяжении всего теста.Настройка происходит, например, путем вставки, а разборку - путем удаления.

Я тестирую базу данных, а не фиктивно / фальшиво, потому что я бы предпочел тестировать сложный SQL на полуработающей копиибаза данных.

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

Есть ли способ, которым я могу сделать это один раз и забытьоб этом?Или есть лучшая практика, которую я пропускаю полностью?

1 Ответ

2 голосов
/ 07 января 2012

Вы можете использовать команду MySQL TRUNCATE TABLE , которая очищает таблицу и сбрасывает столбец AUTO_INCREMENT.По сути, он удаляет таблицу и воссоздает ее, что происходит быстрее, чем удаление всех строк.

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