我有一个用户提交的表单,它在后端有很多处理。在这个过程中,我创建了一个字典:
def function_that_returns_form_data(form, ...):
form_data = {'account' : form['account'], ...}
return form_data我的单元测试测试返回字典的函数,如下所示:
self.form = PaymentForm(data=...)
returned_dict = function_that_returns_form_data(self.form, ...)
expected_dict = {'account' : self.form['account'], ...}
self.assertEqual(expected_dict, function_returning_form_data)returned_dict和expected_dict中除了'account‘之外的所有项都匹配,这会导致错误:
AssertionError: Lists differ: ... First differing element 0: {'account': <django.forms.forms.BoundField object at 0x043E6F50>, ... {'account': <django.forms.forms.BoundField object at 0x043E64B0>, ...
我确信这些对象是相同的,并且我希望传递该对象,而不是逐个取出它的所有字段。如何让Django使用正常的比较(字段的值)来测试绑定字段,而不是比较对象在内存中的位置?
发布于 2015-04-30 12:11:02
请求self.form会让我胡言乱语,但self.form__dict__['data']['field_i_want']是有效的。
我不知道为什么我需要以如此冗长的方式访问绑定表单中的字段。
https://stackoverflow.com/questions/29957122
复制相似问题