У меня есть куча файлов модульных тестов, каждый из которых состоит из классов django.test.TestCase.
Я написал небольшой сценарий оболочки, чтобы раскомментировать/комментировать импорт тестовых файлов в моем файле __init__.py, чтобы я мог запускать тесты из определенных тестовых файлов на основе аргументов командной строки, которые я ему даю. Я также могу запустить все тесты всех тестовых файлов за один раз (для целей регрессионного тестирования).
У меня есть один тестовый файл, в котором есть несколько приспособлений JSON, и первый тест проверяет, что в определенной модели/таблице есть 3 записи (определенные приспособлением JSON).
Итак, вот проблема: когда я запускаю этот тестовый файл сам по себе, его тесты проходят с честью, но когда я запускаю тест со всеми другими тестами, этот конкретный тестовый пример, о котором я упоминал, терпит неудачу.
Когда я запускаю все тесты, база данных говорит, что в таблице/модели есть 6 записей, но их должно быть только 3 (из прибора), например, когда тестовый файл запускается сам по себе.
Я также попытался запустить этот тестовый файл с несколькими другими тестовыми файлами (не со всеми), и он проходит. Так что единственный раз, когда это не так, это когда все тестовые файлы запущены.
Мне это кажется ошибкой в Django или PostgreSQL (БД, которую я использую), потому что Django TestCases не должны автоматически очищать / сбрасывать базу данных между каждым тестовым методом, не говоря уже о тестовом классе?