pytest执行的时候,提示:collected 0 items,自己的用例为什么没有被执行呢?原因有4个

pytest执行的时候,提示:collected 0 items,自己的用例为什么没有被执行呢?原因有4个

pytest测试用例执行过程中,没选择到想要执行的用例,可能原因我遇到了3种,如下一一总结下:

1、测试脚本重命名之后,可能执行不到该用例,比如:test_add.py就没有被执行,原因:被改过了脚本名称

2、脚本里如果使用了类,没有使用Test开头命名

3、测试用例命名没有以“test_”开头命名,所以不会执行。pytest执行用例的是,仅执行以“test_”开头命名的用例,不然找不到
在这里插入图片描述

3、测试用例是以“test_” 开头命名的,但是用例里边的测试方法命名没有以“test_” 开头命名,所以找不到。

如下以test_1.py为例具体说明:

(1)这样的就不会被执行,因为方法名的原因
在这里插入图片描述

(2)这样的才会被执行
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pytest 中,可以使用 `pytest.mark.skip` 装饰器来跳过某个测试用例。你可以在测试用例函数上添加这个装饰器,当测试用例的某个条件不满足时,pytest 将会跳过这个测试用例,继续执行其他的测试用例。 例如,假设我们有一个测试用例函数 `test_divide_by_zero`,用于测试除以 0 的情况,如果除数为 0,则这个测试用例会抛出 `ZeroDivisionError` 异常。我们可以使用 `pytest.mark.skip` 装饰器来跳过这个测试用例: ```python import pytest def test_divide_by_zero(): with pytest.raises(ZeroDivisionError): 1 / 0 @pytest.mark.skip(reason="除数为 0,暂不支持") def test_divide_by_zero_skip(): with pytest.raises(ZeroDivisionError): 1 / 0 ``` 在这个例子中,我们使用 `pytest.mark.skip` 装饰器来跳过 `test_divide_by_zero_skip` 这个测试用例,同时在装饰器中添加了一个原因,以便更好地说明为什么要跳过这个测试用例。 当我们运行 pytest 时,pytest 将会跳过被 `pytest.mark.skip` 装饰的测试用例,同时输出跳过的原因: ``` $ pytest ============================= test session starts ============================= platform linux -- Python 3.x.y, pytest-6.x.y, py-1.x.y, pluggy-1.x.y rootdir: /path/to/test/directory collected 2 items test_example.py .s [100%] ============================== 1 passed, 1 skipped ============================== ``` 在这个例子中,我们看到 pytest 跳过了 `test_divide_by_zero_skip` 这个测试用例,并且输出了跳过的原因
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值