pytest 测试用例发现约定

pytest 测试发现约定

当前文件路径
当前文件路径

1.如未指定任何参数,则收集从testpaths (如果已配置:可以通过pytest.ini配置文件发现路径,配置文件只在当前目录下生效),或当前目录开始。
默认条件下默认条件下通过配置文件指定路径后执行结果
通过配置文件指定路径后执行结果
pytest.ini文件

[pytest]
testpaths = testing doc

注意格式:用例发现路径用空格隔开,关键字不能写错

2.命令行参数可以在目录,文件名或者节点ID的任何组合中使用。

用例文件
def test_02():
    print('testing目录下的test02')
    assert 1 == 1
def test_04():
    print('testing目录下的test04')
    assert 1 == 1
用例执行文件:结合用例文件路径和节点,指定执行一条用例
if __name__ == '__main__':
    # pytest.main(['-s'])  # '-s' 表示输出打印信息,pytest默认是不输出打印信息的
    pytest.main(['-s','./testing/test_pytest.py::test_04'])

3.递归到目录,除非他们匹配 norecursedirs

忽略所有test开头的用例
pytest.ini文件
[pytest]
norecursedirs = test*

4.在当前目录及其子目录中运行所有格式为test_.py或者_test.py文件
5.从这些文件中收集测试项目。

1、在类之外拥有test前缀的测试函数或方法
2、在拥有Test前缀中的测试类(不含__init__方法)中的拥有test前缀的测试函数或方法

	如果在测试类中加了构造函数会报错如下:
testing\test_pytest.py:28
  D:\pythonwork\cemaxueyuan\CMVIP4\ADEMO\pytest_discover\testing\test_pytest.py:28: PytestCollectionWarning: cannot collect test class 'TestCase01' because it has a __init__ constructor (from: testing/test_pytest.py)
    class TestCase01:

-- Docs: https://docs.pytest.org/en/stable/warnings.html

6.可以自定义测试发现规则,比如忽略掉一些目录

if __name__ == '__main__':
    # 自定义测试发现规则,比如忽略掉一些目录
    pytest.main(['-s', '--ignore=testing/', '--ignore=doc/'])

7.pytest也可以发现使用标准的unittest.TestCase子类技术的测试用例(完全兼容unittest)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值