Я получаю противоречивое поведение с модульными тестами Django. На моей машине разработки с использованием sqlite, если я запускаю тесты по двум моим приложениям отдельно, тесты проходят, но если я запустил manage.py test
, чтобы проверить все сразу, я сразу же получаю сбои тестирования модулей на двух тестах.Единичные тесты Django не работают при работе с другими тестовыми примерами
На моем промежуточном сервере, который использует Postgres, у меня есть специальный тест, который работает при его тестировании отдельно (например, manage.py test MyApp.tests.MyTestCase.testSomething
), но не работает при запуске всего тестового примера (например, manage.py test MyApp.tests.TestCase
).
Другие смежные вопросы StackOverflow, кажется, есть два решения:
- Использование Django TestCase вместо питона эквивалентного
- Использование TransactionTestCase, чтобы убедиться, что база данных очищается должным образом после каждого теста.
Я пробовал оба безрезультатно. Из разочарования я также попытался использовать django-нос вместо этого, но я видел те же ошибки. Я на Django 1.6.
Какая именно ошибка? – e4c5
Ошибка не имеет большого смысла, не видя всего модульного теста, но в основном тест не отвечает, что объект, который должен был быть создан после выполнения POST, не существует. – mathew
@mathew вы можете опубликовать все ваши юнит-тесты и полную ошибку? Используете ли вы django 'TestCase' для всех своих тестов? У вас есть утечка данных? Что приятно в «TestCase» django, он вытирает ваш db после каждого теста – dm03514