欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

详解Pytest测试用例运行模式

程序员文章站 2024-02-27 14:02:39
...

1、主函数模式

(1)运行所有:

  pytest.main()
(2)指定模块:

pytest.main(['-s','-v','testCase/test_03.py'])

(3)指定目录:

pytest.main(['-s','-v','testCase])

(4)通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成

pytest.main(['-s','-v','testCase/test_03.py::test01'])

pytest.main(['-s','-v','testCase/test_03.py::TestWord::test02'])

2、命令行模式

(1)运行所有:pytest
(2)指定模块 pytest -vs ./testcase/test_01.py
(3)指定目录 pytest -vs ./testcase
(4)通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成
pytest -vs ./interface_testcase/test_03.py::test01
pytest -vs ./interface_testcase/test_03.py::TestLogin::test02

参数详解:
-s:表示输出调试信息,包括print打印的信息
-v:显示更详细的信息
-vs:可以放在一起使用

3.通过读取pytest ini配置文件运行 (最主要运用的方式)

#pytest.ini是pytest单元测试框架中的核心配置文件
  (1)位置:一般是放在项目的根目录
  (2)编码:必须是ANSI,可以使用notepad++来修改编码格式
  (3)作用:改变pytest的默认行为

(4)运行的规则:不管是主函数的模式运行该,命令行模式,都会区读取这个配置文件,注意实际项目中不要添加注释

1

2

3

4

5

6

[pytest]

addopts=-vs    #命令行参数 用空格分离

testpaths=./testcase #测试用例的路径 ./testcase/test_day2.py #

python_files=test_*.py  #模块名的规则

python_classes=Test*    #类名的规则

python_functions=test   #方法名的规则

4.pytest  fixture

pytest支持xUnit格式型的测试模型(setup/teardown),四种级别

(1)模块级别:使用setup_module 和 teardown_module

(2)函数级别:使用setup_function 和  teardown_function

(3)类级别:使用setup_class 和  teardown_class

(4)方法级别:使用setup_method  teardown_method

5.fixture scope的范围参数

使用@pytest.fixture(scope='module')来定义框架,关于scope的参数有以下几种。

    function    每一个用例都执行
    class         每个类执行
    module     每个模块执行(函数形式的用例)
    session     每个session只运行一次,在自动化测试时,针对于登录步骤可以使用该session定义