Моя база данных не вставляется сразу
Я пытаюсь применить Test Driven Development для создания веб-страницы, и у меня возникают проблемы с использованием моей базы данных. Я занимаюсь разработкой с использованием Cake 1.1, PHP5 и SimpleTest для модульного тестирования.
Моя проблема в том, что у меня есть тест, который:
- Вставляет строку, используя прямой оператор SQL
- Проверяет, была ли вставлена эта строка (с помощью функции в моей основной программе.)
- Удаляет строку, которая была вставлена.
Оба шага 1 и 3 работают нормально, но шаг 2 не выполняется.
Важно понимать, что если я запускаю тест, не удаляя строку (я закомментировал это), а затем снова запускаю тест, но сначала исключаю шаг 1 (снова просто комментируя эту строку), и тест проходит без проблем.
Я также попытался запустить операторы SQL напрямую (один за другим в редакторе) в PHPMyAdmin, и они отлично работают.
3 ответа
Все ли шаги выполняются в одной транзакции?
Если нет, шаг 2 не сможет увидеть результат шага 1, пока шаг 1 не будет зафиксирован.
Похоже, ваша вставка происходит внутри транзакции, которая еще не была зафиксирована при попытке выполнить тестирование.
Можете ли вы дать пример кода?