Я пишу модульные тесты для проверки модуля профиля профиля. Итак, у меня есть форма, которая позволяет пользователю загружать аватар. Если он существует, он просто заменяет текущий.Несколько POST в модульном тестировании Django
В моем тесте, я следующее (установка класса регистрирует пользователя в систему - здесь не показано):
f = open('testfile1.jpg')
data = {'image':f}
response = self.client.post('/profile/uploadavatar/',data)
self.assertEqual(response.status_code, 200)
self.assertEqual(self.user1.get_profile().avatar.image.name, u'uploads/images/testfile1.jpg')
f.close()
f = open('testfile2.jpg')
data = {'image':f}
response = self.client.post('/profile/uploadavatar/',data)
self.assertEqual(response.status_code, 200)
self.assertEqual(self.user1.get_profile().avatar.image.name, u'uploads/images/testfile2.jpg')
f.close()
Второй assertEqual для проверки имени изображения аватара всегда терпит неудачу, потому что он по-прежнему установлен первое имя файла (testfile1.jpg). Однако, когда я проверяю это вручную, код делает то, что я думаю, что он должен, который заменяет старый аватар новым.
Я что-то не так? Я новичок в модульных тестах django, поэтому мне может быть что-то очень простое ...
Любые идеи будут оценены.
Заранее благодарен!
Обновить пользовательский объект между загрузками. –
спасибо Адаму! что это было :) cheers – mapes911