测试表单和小部件-Python

时间:2018-06-22 04:01:37

标签: django django-forms

我尝试测试Django表单和小部件,但返回的是false而不是true。测试看起来不错,但不确定。我已经添加了测试表单,兴趣表单和播放器类

eval

1 个答案:

答案 0 :(得分:0)

您的代码有两个问题:

  1. Player.interestsManyToManyField。这意味着表单期望数据是所选Subject的主键列表-传递字符串值将不起作用。您必须传递Subject个对象的整数ID。

  2. CheckboxSelectMultiple允许选择多个对象,这意味着您必须传递列表,而不是单个值。

所以您需要执行以下操作:

def test_player_interests_fail(self):
    # If you haven't already, you need to create a Subject
    # I don't know how your Subject model is defined, but something like this
    s = Subject.objects.create(name='Sport')

    form = PlayerInterestsForm(data={'interests': [s.pk]})
    self.assertEqual(form.is_valid(), True)