1

私は Django アプリケーションとカスタム ユーザーを持っています - それをテストしたいです (単体テストを行います)。私のカスタム ユーザーは emailuser で、電子メールとパスワードのフィールドで構成されています。私は、フィールドとパスワードを与えて、そのような国の mplayer の何かをセットアップしたいと考えています。しかし、以下の私のコードは機能しません。

設定.py

AUTH_USER_MODEL = 'custom_user.EmailUser'

test.py の私のコード

from django.test import TestCase
from django.conf import settings

class MyTest(TestCase):
    def setUp(self):
        self.user = settings.AUTH_USER_MODEL.objects.create('testuser@test.pl', 'testpass')

    def test_user(self):
        self.assertEqual(self.user, 'testuser@test.pl')
4

2 に答える 2

5

さて、これを試してください:

from django.test import TestCase
from django.contrib.auth import get_user_model

User = get_user_model()

class CustomUserTestCase(TestCase):

    def test_create_user(self):
        # params = depends on your basemanager’s create_user methods.
        user = User.objects.create(**params)
        self.assertEqual(user.pk, user.id)
于 2017-08-31T13:00:46.960 に答える
2

create_user()の代わりにメソッドを使用する必要がありますcreate()。また、フィールド自体emailではなく、フィールドを確認する必要がありuserます。

class MyTest(TestCase):
    def setUp(self):
        self.user = settings.AUTH_USER_MODEL.objects.create_user(
                                              'testuser@test.pl', 'testpass')

    def test_user(self):
        self.assertEqual(self.user.email, 'testuser@test.pl')
于 2015-04-03T08:25:25.617 に答える