码迷,mamicode.com
首页 > 其他好文 > 详细

django用户系统的测试,蛮不错的。

时间:2018-11-27 19:26:10      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:mit   git   setup   www.   url   ide   tco   sel   cat   

https://blog.csdn.net/orangleliu/article/details/51944758

这个很实用

https://www.cnblogs.com/yanhuidj/p/10012696.html

这是是翻译稿

https://github.com/sibtc/django-beginners-guide

这个是代码

红字,三个最常用assert。

状态码,内容包含文字。

from django.test import TestCase
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
# Create your tests here.

from django.urls import resolve, reverse
from .views import signup


class SignUpTests(TestCase):
    def setUp(self):
        url = reverse(signup)
        self.response = self.client.get(url)

    def test_signup_status_code(self):
        self.assertEquals(self.response.status_code, 200)
        self.assertContains(self.response, b"form")
        self.assertTrue(b"form" in self.response.content)

    def test_signup_url_resolves_signup_view(self):
        view = resolve(/signup/)
        self.assertEquals(view.func, signup)

    def test_csrf(self):
        self.assertContains(self.response, csrfmiddlewaretoken)

    def test_contains_form(self):
        form = self.response.context.get(form)
        self.assertIsInstance(form, UserCreationForm)

    def test_form_inputs(self):
        ‘‘‘
        The view must contain five inputs: csrf, username, email,
        password1, password2
        ‘‘‘
        self.assertContains(self.response, <input, 4)
        self.assertContains(self.response, type="text", 1)
        self.assertContains(self.response, type="email", 0)
        self.assertContains(self.response, type="password", 2)


class SuccessfulSignUpTests(TestCase):
    def setUp(self):
        url = reverse(signup)
        data = {
            username: john,
            password1: abcdef123456,
            password2: abcdef123456
        }
        self.response = self.client.post(url, data)
        self.home_url = reverse(get_classes)

    def test_redirection(self):
        ‘‘‘
        A valid form submission should redirect the user to the home page
        ‘‘‘
        self.assertRedirects(self.response, self.home_url)

    def test_user_creation(self):
        self.assertTrue(User.objects.exists())

    def test_user_authentication(self):
        ‘‘‘
        Create a new request to an arbitrary page.
        The resulting response should now have a `user` to its context,
        after a successful sign up.
        ‘‘‘
        response = self.client.get(self.home_url)
        user = response.context.get(user)
        self.assertTrue(user.is_authenticated)


class InvalidSignUpTests(TestCase):
    def setUp(self):
        url = reverse(signup)
        self.response = self.client.post(url, {})  # submit an empty dictionary

    def test_signup_status_code(self):
        ‘‘‘
        An invalid form submission should return to the same page
        ‘‘‘
        self.assertEquals(self.response.status_code, 200)

    def test_form_errors(self):
        form = self.response.context.get(form)
        self.assertTrue(form.errors)

    def test_dont_create_user(self):
        self.assertFalse(User.objects.exists())

 

django用户系统的测试,蛮不错的。

标签:mit   git   setup   www.   url   ide   tco   sel   cat   

原文地址:https://www.cnblogs.com/aguncn/p/10027858.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!