pytest-配置文件

pytest配置文件简介

pytest.ini是pytest的主配置文件,可以改变pytest的默认行为

如何配置pytest

更改默认命令行选项

对于一些常用的命令行参数,比如-v,-s,经常使用,但是又不想重复输入,可以在pytest.ini文件的addopts来设置

[pytest]
addopts=-v -s
注册标记来防范拼写错误

我们可以自定义标记来管理测试用例,比如给冒烟测试用例标记为@pytest.mark.smoke,可以在配置文件里注册标记来避免拼写错误,没有注册的标记会提示warning
makers格式是line list

[pytest]
addopts=-v -s
markers=
smoke
regession
指定pytest的最低版本

minversion=3.0

指定pytest忽略某些目录

norecurse

指定测试目录

使用testpaths指定pytest访问哪个目录
只有在pytest未指定文件目录参数或测试用例标识符时,该选项才会启用

更改测试搜索规则

pytest的标准的测试搜索规则:

  1. 从一个或多个目录开始查找,可以在命令行指定文件名或目录名,如果未指定,则使用当前目录
  2. 在该目录和所有子目录下递归查到测试模块
  3. 测试模块是指定文件名为test_.py或_test.py的文件
  4. 在测试模块中查找以test_开头的函数名
  5. 查找名字以Test开头的类,其中,首先筛选掉包含__init__函数的类,再查找类中以test_开头的类方

可以在配置文件中更改搜索规则
python_classes更改类的搜索规则
python_classes=Test Test Suite
python_files更改文件的默认搜索规则
python_files=test_
test check
python_functions更改测试函数和方法的规则
python_functions=test_* check_*

[pytest]
addopts=-v -s
markers=
       smoke
       regession
python_classes=Test* Suite*
python_files=test_* *_test check_*
python_functions=test_* check_*
配置log

log_file=…/log/log.txt
log_file_level=INFO
log_file_format= %(asctime)s %(levelname)s %(message)s
log_date_format = %Y-%m-%d %H:%M:%S
log_file是将日志输出到文件
log_cli_level
log_cli_format
log_cli_date_format
将日志输出到控制台

[pytest]
addopts=-v -s
markers=
        smoke
        regession
python_classes=Test* Suite*
python_files=test_* *_test check_*
python_functions=test_* check_*
log_file=../log/log.txt
log_file_level=INFO
log_file_format= %(asctime)s %(levelname)s %(message)s
log_date_format = %Y-%m-%d %H:%M:%S

源码:

def my_add(x,y):
    print("test2")
    Log.info("test2")
    return x+y

测试代码:

def test_add_threee():
    result=my_add(3,4)
    assert result==7

日志具体参考官网:link.

你可能感兴趣的:(pytest,python,测试用例,开发语言)