He la siguiente lógica en mi opinión:Django - cómo hacer pruebas unitarias de una solicitud posterior usando request.FILES
def view_function(request):
if request.method == 'POST':
uploadform = UploadFileForm(request.POST, request.FILES)
if uploadform.is_valid():
#do stuff
Dónde UploadFileForm es igual a:
class UploadFileForm(forms.Form):
file = forms.FileField()
estoy tratando de escribir unidad pruebas para esta vista. Buscando en la documentación de Django, la forma sugerida es la siguiente:
class test_stuffTest(TestCase):
def setUp(self):
self.client = django.test.client.Client()
...
def test_stuff(self):
myfile = open('....\file.csv','r')
response = self.client.post('/', {'name':'file.csv','attachment':myfile})
#check response
Mi objetivo es conseguir uploadform.is_valid() para evaluar en Verdadero, por lo que puede probar el código que sigue a la validación de formularios. Cuando ejecuto la prueba anterior, uploadform.is_valid() se evalúa como False. ¿Hay algo que me falta? ¿Está el código en mi prueba agregando el archivo a request.FILES, o está haciendo algo más?
Si no está seguro de lo que hay en 'request.FILES', lo más rápido es agregar agregar una declaración de impresión en su vista para ver qué está pasando. – Alasdair
hmm Lo intenté pero el argumento FILES no se incluyó en la impresión. ¿Hay alguna configuración para habilitarlo? – vasek1