В django тестировании У меня есть поле Imagefield, которое используется во многих тестовых случаях. Чтобы избежать повторения, я назначил объект Imagefile глобальной переменной
file = open(os.path.join(settings.BASE_DIR, 'logged_out.jpg'), 'rb')
image = {'image':SimpleUploadedFile(name=file.name, content=file.read(), content_type='image/jpeg')}
class FeedFormTest(TestCase):
def setUp(self):
self.user = baker.make(SnetUser)
self.data = {
'post_info':'Test_data',
}
def test_feed_form_is_valid(self):
#Option 1 Not working
#self.data.update(image)
#form = FeedForm(self.data)
#Option 2 Not working
#form = FeedForm(self.data, image)
#Option 3 Working
form = FeedForm(self.data, image) #locally defined image in SetUp method instead globally
print(form.errors)
self.assertTrue(form.is_valid())
Когда я выполняю тест он работает только для изображения, которое определено внутри метода setUp тестового класса. Можете ли вы предложить или направить мне метод эффективного использования переменных, не определяя их несколько раз. Поскольку у меня есть и другие переменные, такие как учетные данные пользователя