告警处理 Unresolved attribute reference 'status_code' for class 'object'

代码中有如下告警:

  1.  Unresolved attribute reference 'status_code' for class 'object'

这个错误通常出现在使用Python进行编程时,尤其是在使用类似于Django或Flask这样的Web框架时。它意味着你尝试在一个类的实例中访问一个不存在的属性status_code。在这个上下文中,'object'通常指的是Python中的基类object,你可能预期这个属性是某个特定类的成员,但实际上object并没有这个属性。

    2.  Unresolved attribute reference 'json' for class 'object'

这个错误通常出现在使用Python的类定义中,特别是在使用类型注解时。错误信息表明类 'object' 中有一个无法解析的属性引用 'json'。这通常意味着在类型注解中使用了一个不存在的属性或者方法 'json'。

 

复制代码
class TestLogin:

    def test_login(self):
        url = 'http://127.0.0.1:80/api/mgr/signin'
        data = {
            'username': 'byhy',
            'password': '88888888'
        }
        try:
            res = requests.post(url, data=data)
            assert res.status_code == 200
        except BaseException as e:
            print("错误信息:",e.args)
        else:
            print(res.json())
            return res
复制代码

 

原因是: 

1.  assert res.status_code == 200  时,需要确保 res是一个object(即python对象), 且该对象中有status_code

2.  print(res.json())  时, 需要确保 res是一个requests.Response对象, 只有当res是一个requests.Response对象时,才会继续执行后续的代码

处理后如下

复制代码
import requests
class TestLogin:

    def test_login(self):
        url = 'http://127.0.0.1:80/api/mgr/signin'
        data = {
            'username': 'byhy',
            'password': '88888888'
        }
        try:
            res = requests.post(url, data=data)
            if isinstance(res, object) and hasattr(res, 'status_code'):
                assert res.status_code == 200
        except BaseException as e:
            print("错误信息:", e.args)
        else:
            if isinstance(res,requests.Response):
                print(res.json())
            return res
复制代码

 

posted @   Avicii_2018  阅读(51)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示