[pytest]测试类中引入__init__(self)方法问题,有坑莫入

问题展示

在使用pytest做一些测试的时候,如果惯性思维采用了__init__(self)初始化的方法,这就给自己挖了一个坑,在使用pytest最好不要碰__init__(self)方法,
demo code:

class TestApi:
    def __init__(self):
        print('init')

    def test_login(self):
        print('login test')

运行之后,Termial出现黄色提示,并且没有找到case,这里我们看下报错类型:

================================== test session starts ==================================
platform win32 -- Python 3.7.0, pytest-6.2.3, py-1.10.0, pluggy-0.13.1
rootdir: D:\python\office_txt\DemoTest
plugins: allure-pytest-2.9.43, arraydiff-0.2, doctestplus-0.1.3, openfiles-0.3.0, remotedata-0.3.3
collected 0 items  
================================== warnings summary ===================================
test_1.py:10
  D:\python\office_txt\DemoTest\test_1.py:10: PytestCollectionWarning: cannot collect test class 'TestApi' because
it has a __init__ constructor (from: test_1.py)
    class TestApi:

-- Docs: https://docs.pytest.org/en/stable/warnings.html
================================= 1 warning in 0.10s ====================================

日志解读

log中有标志:collected 0 items 并没有找到我们的case
提示上说:
it has a __init__ constructor
就是这个初始化构造器导致的,所以避免踩坑,不要在code中使用初始化;
在这里插入图片描述

解决方案

作为测试用例的class类不可以有__init__(self)方法

结果验证

注释掉__init__(self)方法,再次运行,查看结果
demo code:

class TestApi:
    # def __init__(self):
    #     print('init')

    def test_login(self):
        print('login test')

结果:
collected 1 item :可以读到case了

=============================================== 1 warning in 0.10s ===============================================

(base) D:\python\office_txt\DemoTest>pytest
================================= test session starts ===================================
platform win32 -- Python 3.7.0, pytest-6.2.3, py-1.10.0, pluggy-0.13.1
rootdir: D:\python\office_txt\DemoTest
plugins: allure-pytest-2.9.43, arraydiff-0.2, doctestplus-0.1.3, openfiles-0.3.0, remotedata-0.3.3
collected 1 item                                                                                                  

test_1.py .                                                                                                 [100%]

=================================== 1 passed in 0.12s ======================

over~~~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔都吴所谓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值