У меня возникла очень странная проблема.
У меня есть тестовый класс, который является подклассом django.test.TestCase, в котором есть около 5 различных тестов. Когда я запускаю свой полный набор тестов (с использованием носа и указанием sqlite в качестве бэкэнда), возникает ряд сбоев. Когда я иду отлаживать тесты, запуская их по отдельности, они проходят нормально.
В одном из моих тестов я получаю количество объектов перед добавлением дополнительного объекта. бывший.
test_count = TestObject.objects.all().count()
# Add an entry to TestObject
self.assertEqual(test_count + 1, TestObject.objects.all().count()) # should pass
Это сбивало с толку, что он будет работать нормально при индивидуальном запуске, но не при запуске с другими тестами. В pdb, когда я смотрю на переменные, test_count
равно 1, но TestObjects.objects.all().count()
равно []
после первой строки.
ipdb> test_count
1
ipdb> TestObject.objects.all()
[]
ipdb> TestObject.objects.all().count()
0
Это происходит прямо во второй строке после присвоения значения test_count
, но перед добавлением другого объекта в TestObject
.
Когда мой коллега проводит наши тесты, все проходит нормально.
Кто-нибудь сталкивался с подобными вещами раньше? Я пытался изменить имена переменных, я думал, может быть, где-то конфликт. У меня закончились идеи. Спасибо за помощь.