создание тестов для форм: как увидеть ошибки формы при сбое проверочных утверждений - PullRequest
0 голосов
/ 05 марта 2019

В настоящее время я пытаюсь создать тест для своей формы, который наверняка является действительным, потому что я тестировал его вручную в своем приложении, но в моем тесте покажу мне, что мой form.is_valid == False. Я не знаю, что я делаю не так в моем тесте, есть ли способ проверить каждое поле отдельно, чтобы найти причины недействительности в моей тестовой форме?

Мой код:

forms.py

from django.forms import ModelForm
from django import forms

from .models import Comment


class CommentForm(ModelForm):
    class Meta:
        model = Comment
        fields = ['nick', 'rate', 'content']
        widgets = {'nick': forms.HiddenInput()}

test_forms.py

from django.test import TestCase
from django.contrib.auth.models import User
from ..forms import CommentForm


class CommentFormTest(TestCase):

    def test_form(self):
        user = User.objects.create(username='Testowy')
        form_data = {
            'nick': user,
            'rate': '1',
            'content': 'test content',
        }
        form = CommentForm(data=form_data)
        self.assertEqual(form.is_valid(), True)

1 Ответ

1 голос
/ 05 марта 2019

Тестовые утверждения всегда имеют необязательный аргумент (последний или msg), позволяющий напечатать сообщение в случае сбоя подтверждения.Вы должны использовать это как можно больше в своих тестах (если сам результат не очевиден), чтобы помочь вам определить причину ошибки утверждения:

self.assertTrue(
    form.is_valid(),  
    msg=f"form should have been valid, but contains errors: {form.errors}")

Таким образом, ошибки будут печататься на вашей тестовой консоливыход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...