请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

测试用例:没有user对象

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’

正在回答 回答被采纳积分+3

4回答

提问者 归来也无风雨也无晴 2021-08-19 13:22:23

https://img1.sycdn.imooc.com//szimg/611dea850994b0cf05700210.jpg

1.1.1

0 回复 有任何疑惑可以回复我~
Jack 2021-08-19 09:48:11

我发现了,难道是

def setUp(self):

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

0 回复 有任何疑惑可以回复我~
  • 还是不可以。
    AUTH_USER_MODEL = 'users.User'
    可能是版本问题吧,python3.6.8, Django-test-plus==1.3.0
    Django-test-plus==1.1.1 下载不了
    回复 有任何疑惑可以回复我~ 2021-08-19 13:21:34
提问者 归来也无风雨也无晴 2021-08-17 22:54:11

//img1.sycdn.imooc.com//szimg/611bcd7f09c70fff08710503.jpg

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


0 回复 有任何疑惑可以回复我~
Jack 2021-08-17 20:52:18

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 回复 有任何疑惑可以回复我~
  • 跟断言方式没关系啊,问题在于没有user对象。
    ModuleNotFoundError: No module named 'users'
    但是,用户详情却能访问成功,测试的时候就是找不到。
    回复 有任何疑惑可以回复我~ 2021-08-17 22:53:16
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信