我在我的视图中有以下逻辑:
def view_function(request):
if request.method == 'POST':
uploadform = UploadFileForm(request.POST, request.FILES)
if uploadform.is_valid():
#do stuff
UploadFileForm指的是:
class UploadFileForm(forms.Form):
file = forms.FileField()
我正在尝试为这个视图编写单元测试。在Django文档中,建议的方法是:
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
我的目标是让uploadform.is_valid()评估为True,这样我就可以测试跟随表单验证的代码。当我运行上面的测试时,uploadform.is_valid()评估为False。我是否遗漏了什么?我的测试代码是否将文件添加到request.FILES中,还是做了其他事情?
request.FILES
中包含什么内容,最快的方法是在视图中添加一个打印语句以查看发生了什么。 - Alasdair