Мне нужно вернуться в состояние «чистого» состояния после каждого теста, что является самым простым способом отменить изменения, сделанные во время выполнения тестов?Как вернуть изменения db во время модульных тестов?
ответ
Используйте DELETE FROM <tablename>; VACCUUM;
или откройте стол (ы) и заново закройте. Используйте позже, если вам нужно сбросить значения последовательности, используемые столбцами AUTOINCREMENT.
This question имеет некоторые ответы, которые могут привести вас в правильном направлении. Использование транзакций для обработки отката для вас было бы самым простым, о чем я подумал бы.
Самый простой способ, чтобы bo создать ложный DB имеет только некоторые тестовые данные, после теста просто отбросьте его.
Последнее приложение для примера Note Pad делает что-то вроде этого. Он включает в себя модульные тесты для поставщика контента, который использует Note Pad. Поскольку эти тесты основаны на JUnit 3, для каждого модульного теста вызывается метод setUp() и tearDown() .
Методы тестирования используют частный метод в поставщике контента для удаления таблиц в базе данных и затем их воссоздания. Класс тестирования и класс поставщика контента используют одно и то же имя пакета, поэтому частный метод является видимым для теста. Однако это не видно вне поставщика контента, поэтому никто не должен его называть, и у него нет Javadoc.
Если этого недостаточно, вы можете использовать метод ContentProvider.call() для управления провайдером (вызывая ContentResolver.call()).
- 1. Отключить вывод log4j во время модульных тестов
- 2. Захват журнала Python во время модульных тестов
- 3. cellForRowAtIndexPath nil во время модульных тестов
- 4. Как отключить переводы во время модульных тестов в django?
- 5. Как предотвратить включение весеннего контекста приложения во время модульных тестов
- 6. Откат автоматически генерируемых значений таблиц во время модульных тестов
- 7. Получать уведомления во время модульных тестов с помощью XCTest?
- 8. Операторы NSLog не работают во время модульных тестов
- 9. Обнаружение утечки памяти во время выполнения модульных тестов
- 10. Maven: игнорировать межмодульные зависимости во время выполнения модульных тестов
- 11. Выполнение модульных тестов во время сборки DLL Windows с CMake
- 12. Сведение к минимуму удержания объекта во время модульных тестов
- 13. Шпионить за функциями, вызванными интервалом angular.js $ во время модульных тестов
- 14. Laravel eloquent model reset booted property во время модульных тестов
- 15. Включение ветвей во время выполнения модульных тестов python
- 16. Spring 3.2 disable @Cacheable во время модульных тестов
- 17. Конструкторы подделки для модульных тестов
- 18. охват javascript без модульных тестов
- 19. C++ модульных тестов, насмехаясь объекты
- 20. Создание тестов из анализа во время выполнения
- 21. Запуск модульных тестов QtQuickTest
- 22. Конфигурирование модульных тестов
- 23. Активы для модульных тестов
- 24. Упрощение модульных тестов rspec
- 25. Классификация модульных тестов
- 26. модульных тестов Треугольник
- 27. Как получить шаблоны данных для модульных тестов?
- 28. Django Testing: Сбрасывает ли изменения --keepdb во время тестов?
- 29. HSQL для модульных тестов мавенны
- 30. Выполнение javascript-тестов из модульных тестов .net
Ничего из этого не меняется, не так ли? – kosa
О, «чистым», я думал, что ты имеешь в виду пустое. Вы ищете способ вернуться в исходное состояние, когда база данных не пуста? – Pedantic