Pytest权威教程21-API参考-07-配置选项(Configuration Options)
- 配置选项(Configuration Options)
- addopts
- cache_dir
- confcutdir
- console_output_style
- doctest_encoding
- doctest_optionflags
- empty_parameter_set_mark
- filterwarnings
- junit_family
- junit_suite_name
- log_cli_date_format
- log_cli_format
- log_cli_level
- log_date_format
- log_file
- log_file_date_format
- log_file_format
- log_file_level
- log_format
- log_level
- log_print
- markers
- minversion
- norecursedirs
- python_classes
- python_files
- python_functions
- testpaths
- usefixtures
- xfail_strict
配置选项(Configuration Options)
这里是一个可以在被写入内置的配置选项的列表pytest.ini
,tox.ini
或setup.cfg
通常位于版本库的根文件。所有选项必须在一个[pytest]
部分下([tool:pytest]
对于setup.cfg
文件)。
警告
的使用setup.cfg
是不推荐,除非非常简单的用例。.cfg
文件使用不同的解析器pytest.ini
,tox.ini
这可能导致难以追踪问题。如果可能,建议使用后面的文件来保存pytest配置。
配置文件选项可以通过使用在命令行中覆盖,-o/--override
也可以多次传递。预期的格式是name=value
。例如:
pytest -o console_output_style=classic -o cache_dir=/tmp/mycache
addopts
将指定OPTS
的命令行参数添加到命令行参数集中,就像它们已由用户指定一样。示例如:如果你有此ini文件内容:
# content of pytest.ini
[pytest]
addopts = --maxfail=2 -rf # exit after 2 failures,report fail info
发行实际意味着:pytesttest_hello.py
pytest --maxfail=2 -rf test_hello.py
默认是不添加选项。
cache_dir
设置存储缓存插件内容的目录。默认目录是.pytest_cache
在rootdir中。
confcutdir
设置向上搜索conftest.py
文件的目录。默认情况下,pytest将停止conftest.py
从项目的pytest.ini
/tox.ini
/向上搜索文件(setup.cfg
如果有),或者直到文件系统根目录。
console_output_style
运行测试时设置控制台输出样式:
classic
:经典的pytest输出。progress
:喜欢经典的pytest输出,但带有进度指示器。count
:像进度一样,但随着测试完成次数而不是百分比显示进度。
默认值为progress
,但classic
如果你愿意,或者新模式导致意外问题,你可以回退到:
# content of pytest.ini
[pytest]
console_output_style = classic
doctest_encoding
用于解码带有文档字符串的文本文件的默认编码。看看pytest如何处理doctests。
doctest_optionflags
标准doctest
模块中的一个或多个doctest标志名称。看看pytest如何处理doctests。
empty_parameter_set_mark
允许在参数化中为空参数选择操作
skip
使用空参数跳过测试(默认)xfail
使用空参数标记测试为xfail(run = False)fail_at_collect
如果parametrize收集空参数集,则引发异常
# content of pytest.ini
[pytest]
empty_parameter_set_mark = xfail
注意:计划
xfail
在将来的版本中更改此选项的默认值,因为这被认为不易出错,有关详细信息,请参阅#3155。
filterwarnings
设置应为匹配的警告采取的过滤器和操作的列表。默认情况下,测试会话期间发出的所有警告都将在测试会话结束时显示在摘要中。
# content of pytest.ini
[pytest]
filterwarnings =
error
ignore::DeprecationWarning
这告诉pytest忽略弃用警告并将所有其他警告变为错误。有关更多信息,请参阅警告捕获。
junit_family
版本4.2中的新函数。
配置生成的JUnit XML文件的格式。可能的选择是:
xunit1(或
legacy`):生成旧样式输出,与xunit 1.0格式兼容。这是默认值。xunit2
:生成xunit 2.0样式输出,哪个应该与最新的Jenkins版本更兼容。
[pytest]
junit_family = xunit2
junit_suite_name
要设置根测试套件xml项的名称,可以junit_suite_name
在配置文件中配置该选项:
[pytest]
junit_suite_name = my_suite
log_cli_date_format
设置一个time.strftime()
兼容的字符串,该字符串将在格式化实时日志记录的日期时使用。
[pytest]
log_cli_date_format = %Y-%m-%d %H:%M:%S
有关更多信息,请参阅实时日志。
log_cli_format
设置logging
用于格式化实时日志记录消息的兼容字符串。
[pytest]
log_cli_format = %(asctime)s %(levelname)s %(message)s
有关更多信息,请参阅实时日志。
log_cli_level
设置应为实时日志记录捕获的最小日志消息级别。可以使用整数值或级别的名称。
[pytest]
log_cli_level = INFO
有关更多信息,请参阅实时日志。
log_date_format
设置time.strftime()
与日志记录捕获格式化日期时将使用的兼容字符串。
[pytest]
log_date_format = %Y-%m-%d %H:%M:%S
有关更多信息,请参阅日志记录。
log_file
pytest.ini
除了活动的其他日志记录工具之外,还应设置相对于应写入日志消息的文件的文件名。
[pytest]
log_file = logs/pytest-logs.txt
有关更多信息,请参阅日志记录。
log_file_date_format
设置time.strftime()
在格式化日志文件的日期时将使用的兼容字符串。
[pytest]
log_file_date_format = %Y-%m-%d %H:%M:%S
有关更多信息,请参阅日志记录。
log_file_format
设置一个logging
兼容的字符串,用于格式化重定向到日志文件的日志消息。
[pytest]
log_file_format = %(asctime)s %(levelname)s %(message)s
有关更多信息,请参阅日志记录。
log_file_level
设置应为日志记录文件捕获的最小日志消息级别。可以使用整数值或级别的名称。
[pytest]
log_file_level = INFO
有关更多信息,请参阅日志记录。
log_format
设置logging
用于格式化捕获的日志消息的兼容字符串。
[pytest]
log_format = %(asctime)s %(levelname)s %(message)s
有关更多信息,请参阅日志记录。
log_level
设置应记录捕获的最小日志消息级别。可以使用整数值或级别的名称。
[pytest]
log_level = INFO
有关更多信息,请参阅日志记录。
log_print
如果设置为False
,将禁用显示失败测试的捕获日志消息。
[pytest]
log_print = False
有关更多信息,请参阅日志记录。
markers
使用--strict
命令行参数时,只允许使用已知的标记(由代码核心pytest或某些插件定义)。你可以在此设置中列出其他标记,以将其添加到白名单。
你可以列出每行一个标记名称,从选项名称缩进。
[pytest]
markers =
slow
serial
minversion
指定运行测试所需的最小pytest版本。
# content of pytest.ini
[pytest]
minversion = 3.0 # will fail if we run with pytest-2.8
norecursedirs
设置目录basename模式以避免在递归测试发现时使用。各个(fnmatch样式)模式应用于目录的基本名称,以决定是否递归到目录。模式匹配字符:
- matches everything
? matches any single character
[seq] matches any character in seq
[!seq] matches any char not in seq
默认模式是。设置替换默认值。以下是如何避免某些目录的示例如:'.*','build','dist','CVS','_darcs','{arch}','*.egg','venv'``norecursedirs
[pytest]
norecursedirs = .svn _build tmp*
这将告诉pytest
我们不要查看典型的subversion或sphinx-build目录或任何tmp
前缀目录。
此外,pytest
将尝试通过激活脚本的存在智能地识别和忽略virtualenv。除非‑‑collect‑in‑virtualenv
给出,否则在测试收集期间不会考虑任何被视为虚拟环境根目录的目录。另请注意,norecursedirs
优先于‑‑collect‑in‑virtualenv
;例如,如果你打算在virtualenv中使用匹配的基本目录运行测试,则除了使用该标志外,'.*'
还必须覆盖。norecursedirs``‑‑collect‑in‑virtualenv
python_classes
一个或多个名称前缀或glob样式模式,用于确定考虑用于测试集合的类。通过在模式之间添加空格来搜索多个glob模式。默认情况下,pytest会将任何以前缀Test
为前缀的类视为测试集合。以下是如何从以下结尾的类中收集测试的示例Suite
:
[pytest]
python_classes = *Suite
请注意,unittest.TestCase
无论此选项如何,始终都会收集派生类,因为unittest
自己的集合框架用于收集这些测试。
python_files
一个或多个Glob样式的文件模式,用于确定哪些python文件被视为测试模块。通过在模式之间添加空格来搜索多个glob模式:
[pytest]
python_files = test_*.py check_*.py example_*.py
或者每行一个:
[pytest]
python_files =
test_*.py
check_*.py
example_*.py
默认情况下,匹配的文件test_*.py
和*_test.py
将被视为测试模块。
python_functions
一个或多个名称前缀或glob-patterns,用于确定哪些测试函数和方法被视为测试。通过在模式之间添加空格来搜索多个glob模式。默认情况下,pytest会将任何前缀test
为函数的函数视为测试。以下是如何收集以下结尾的测试函数和方法的示例_test
:
[pytest]
python_functions = *_test
请注意,这对生成在派生类上的方法没有影响,因为自己的集合框架用于收集这些测试。unittest.TestCase``unittest
有关更多详细示例,请参阅更改命名约定。
testpaths
当从rootdir目录执行pytest时,如果在命令行中没有给出特定的目录,文件或测试ID,则设置应搜索测试的目录列表。当所有项目测试都在一个已知位置以加速测试收集并避免意外接收不需要的测试时非常有用。
[pytest]
testpaths = testing doc
这告诉pytest只在从根目录执行时查找testing
和doc
目录中的测试。
usefixtures
将应用于所有测试函数的Fixture方法列表;这在语义上与将@pytest.mark.usefixtures
标记应用于所有测试函数相同。
[pytest]
usefixtures =
clean_db
xfail_strict
如果设置为True
,则标记为@pytest.mark.xfail
实际成功的测试将默认为测试套件失败。有关更多信息,请参阅strict参数。
[pytest]
xfail_strict = True
Pytest权威教程21-API参考-07-配置选项(Configuration Options)的更多相关文章
- Pytest权威教程21-API参考-03-夹具(Fixtures)
目录 夹具(Fixtures) @ pytest.fixture config.cache的 capsys capsysbinary capfd capfdbinary doctest_namespa ...
- Pytest权威教程21-API参考-04-钩子(Hooks)
目录 钩子(Hooks) 引导时的Hook方法 初始化时的Hook方法 测试运行时的Hook方法 收集用例时的Hook方法 生成测试结果时的Hook方法 调试/交互Hook方法 返回: Pytest权 ...
- Pytest权威教程(官方教程翻译)
Pytest权威教程01-安装及入门 Pytest权威教程02-Pytest 使用及调用方法 Pytest权威教程03-原有TestSuite的执行方法 Pytest权威教程04-断言的编写和报告 P ...
- Pytest权威教程21-API参考-05-对象(Objects)
目录 对象(Objects) CallInfo Class Collector Config ExceptionInfo FixtureDef FSCollector Function Item Ma ...
- Pytest权威教程21-API参考-01-函数(Functions)
目录 函数(Functions) pytest.approx pytest.fail pytest.skip pytest.importorskip pytest.xfail pytest.exit ...
- Pytest权威教程21-API参考-02-标记(Marks)
目录 标记(Marks) pytest.mark.filterwarnings pytest.mark.parametrize pytest.mark.skip pytest.mark.skipif ...
- Pytest权威教程21-API参考-06-变量及异常
目录 特殊变量(Special Variables) collect_ignore collect_ignore_glob pytest_plugins pytest_mark PYTEST_DONT ...
- Pytest权威教程10-捕获警告信息
目录 捕获警告信息 @pytest.mark.filterwarnings 禁用警告摘要 完全禁用警告捕获 弃用警告和待命记录警告 确保代码触发弃用警告 用警告函数断言警告 录制警告 自定义失败消息 ...
- Pytest权威教程12-跳过(Skip)及预期失败(xFail): 处理不能成功的测试用例
目录 跳过(Skip)及预期失败(xFail): 处理不能成功的测试用例 Skip跳过用例 xFail:将测试函数标记为预期失败 Skip/xFail参数设置 返回: Pytest权威教程 跳过(Sk ...
随机推荐
- 超详细Vue实现导航栏绑定内容锚点+滚动动画+vue-router(hash模式可用)
超详细Vue实现导航栏绑定内容锚点+滚动动画+vue-router(hash模式可用) 转载自:https://www.jianshu.com/p/2ad8c8b5bf75 亲测有效~ <tem ...
- Node.js学习之(第三章:简易小demo)
前言 我们前面已经学习完了Node中一些核心模块还有如何正确配置响应头的Content-Type,今天我们来实现一个简单的demo,巩固下之前学习的内容. 需求 我们平时访问百度或者其他大的门户网站的 ...
- HTML表格跨行、跨列操作(rowspan、colspan)
转自:https://blog.csdn.net/u012724595/article/details/79401401 一般使用<td>元素的colspan属性来实现单元格跨列操作,使用 ...
- CRM, C4C和SAP Hybris的数据库层设计
SAP的product都是DB provider无关的. CRM大家都很熟悉了,application developer最多用Open SQL直接操作表. Netweaver里支持的DB provi ...
- vuex页面刷新数据丢失的解决办法
在vue项目中用vuex来做全局的状态管理, 发现当刷新网页后,保存在vuex实例store里的数据会丢失. 原因: 因为store里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例 ...
- Python JSON的简单使用
1 json简介 1.1 json是什么? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式. “在JSON出现之前,大家一 ...
- Django异常 - ImportError: No module named django.core.management
Django错误 - ImportError: No module named django.core.management问题描述:在命令行输入 manage.py runserver,提示找不到d ...
- Android笔记(六十六) android中的动画——XML文件定义属性动画
除了直接在java代码中定义动画之外,还可以使用xml文件定义动画,以便重用. 如果想要使用XML来编写动画,首先要在res目录下面新建一个animator文件夹,所有属性动画的XML文件都应该存放在 ...
- bash 实用技巧
一..将文件的内容赋给一个变量: file=$(cat filelist) file=$(< file) NOTE:后者性能比前者好 二..bash 分组匹配: HOSTNAME='mysql- ...
- JSONObject对象
1.JSONObject介绍 JSONObject-lib包是一个beans,collections,maps,java arrays和xml和JSON互相转换的包. 方法: 的getString() ...