我完全被困在这里。为什么这个测试用例失败了?

class BogusForm(forms.Form):
    bogus_bool = forms.BooleanField()

class TestBogusForm(TestCase):

    def test_bogus_false(self):
        query_dict = QueryDict('', mutable=True)
        query_dict.update({'bogus_bool': False})
        bogus_form = BogusForm(query_dict)
        self.assertTrue(bogus_form.is_valid())

它无法通过表单字段验证 但只有当我更新 QueryDict 时 bogus_bool 为 False 。如果我说:
query_dict.update({'bogus_bool': True})

然后它通过验证。这里发生了什么?这是 Django Forms 中的错误吗?

如果我在将 QueryDict 传递给 BogusForm 构造函数之前查看它,它看起来像这样:
<QueryDict: {u'bogus_bool': [False]}>

这对我来说看起来完全合法和正确。

最佳答案

来自 django 的 documentation

关于python - Django Forms BooleanField 单元测试用例有什么问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10440937/

10-15 18:42