🎸

【Django】フォームのテストの書き方

2019/03/11に公開約600字
from django import forms

class NameForm(forms.Form):
    name = forms.CharField(label='Your name', max_length=100)

上記の NameForm という Form のテストを pytest で書いてみます。

import pytest

from .forms import NameForm


@pytest.mark.parametrize('name,is_valid', [
    ('name', True),
    (1, False),
    (None, False),
])
def test_nameform(name, is_valid):
    form_data = {
        'name': name
    }
    form = NameForm(data=form_data)
    assert form.is_valid() is is_valid

is_valid() という有効なデータかどうかを検証するメソッドを利用すれば簡単にテストがかけるという紹介でした。

GitHubで編集を提案

Discussion

ログインするとコメントできます