Comme je l'ai dit dans l'article précédent (https://qiita.com/NomuK3/items/245b2070cd290d911294), je voudrais faire un test pour une page avec un formulaire. Mais pour une raison quelconque, j'ai eu une erreur et je n'ai pas pu tester. J'ai pensé que je devrais tester le formulaire pour le moment, mais quand j'y ai pensé, je n'ai pas pu tester le traitement après cela, donc cela n'a pas aidé. Après tout, je dois POSTER et vérifier le contexte.
La solution est la suivante. Tout ce que j'avais à faire était de l'ouvrir avec open, d'insérer le gestionnaire de fichiers et de le POSTER.
tests.py
from django.test import TestCase, Client
from django.contrib.auth.models import User
class Test_Model_Create(TestCase):
def setUp(self):
#Créer un utilisateur de test
self.user = User.objects.create_user(username='tdd', email='[email protected]', password='test_pass')
self.client=Client()
#S'identifier
self.client.login(username='tdd', password="test_pass")
def test_step1(self):
with open('./path/test.csv') as f:
data = {
"nametest" : "test",
"file_data" : f
}
response = self.client.post('/model_create/form/', data)
self.assertIn('file_data', response.context, "fichier en contexte_les données ne sont pas incluses")
C'est bon comme ça.
Le point qui était bloqué est
File (open ('./ path / excel_test.csv'))
)C'était la raison. J'ai également essayé d'utiliser RequestFactory au lieu de Client, mais c'était la raison ...
Au fait, je dois donner deux fichiers cette fois, mais dans un tel cas, il semble que je puisse écrire comme ci-dessous.
tests.py
with open('./path/testA.csv') as fa,open('./path/testB.csv') as fb:
data = {
"name" : "test",
"file_dataA" : fa,
"file_dataB" : fb
}
response = self.client.post('/model_create/form/', data)
La phrase avec est vraiment facile. C'est incroyable.
Je me demande vraiment pourquoi j'étais si inquiet. Je veux réduire les Pokamis.
Recommended Posts