测试用例:没有user对象

来源:5-7 为模型类-网址-视图编写测试用例

归来也无风雨也无晴

2021-08-17

from test_plus.test import TestCase


class TestUser(TestCase):

    def setup(self):
        self.user = self.make_user()

    def test__str__(self):
        self.assertEqual(self.user.__str__(), 'testuser')

    def test_get_profile_name(self):
        self.assertEqual(self.user.username, 'testuser')
        self.user.nickname = '昵称'
        self.assertEqual(self.user.nickname, '昵称')

    def test_get_absolute_url(self):
        self.assertEqual(self.user.get_absolute_url(), '/users/testuser')

Traceback (most recent call last):
File “/home/zanhu/zanhu/users/tests/test_models.py”, line 17, in test_get_profile_name
self.assertEqual(self.user.username, ‘testuser’)
AttributeError: ‘TestUser’ object has no attribute ‘user’

写回答

4回答

归来也无风雨也无晴

提问者

2021-08-19

//img.mukewang.com/szimg/611dea850994b0cf05700210.jpg

1.1.1

0
0

Jack

2021-08-19

我发现了,难道是

def setUp(self):

中Up要大写?你小写了可能导致测试用例创建用户失败,这是内置函数。

0
1
归来也无风雨也无晴
还是不可以。 AUTH_USER_MODEL = 'users.User' 可能是版本问题吧,python3.6.8, Django-test-plus==1.3.0 Django-test-plus==1.1.1 下载不了
2021-08-19
共1条回复

归来也无风雨也无晴

提问者

2021-08-17

//img.mukewang.com/szimg/611bcd7f09c70fff08710503.jpg

截图:用户详情可以访问。


0
0

Jack

2021-08-17

hi,我记得视频中代码是这样的

def test_get_profile_name(self):
    assert self.user.get_profile_name() == 'testuser'
    self.user.nickname = '昵称'
    assert self.user.get_profile_name() == '昵称
get_profile_name() 是在models.py中定义的
def get_profile_name(self):
    if self.nickname:
        return self.nickname
    return self.username
0
1
归来也无风雨也无晴
跟断言方式没关系啊,问题在于没有user对象。 ModuleNotFoundError: No module named 'users' 但是,用户详情却能访问成功,测试的时候就是找不到。
2021-08-17
共1条回复

Django高级实战 开发企业级问答网站

融合Django高级用法/算法/设计模式/TestCase测试/云计算打造项目

900 学习 · 756 问题

查看课程