- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章pytest配置文件pytest.ini的详细使用由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行 。
pytest里面有些文件是非test文件 。
查看pytest.ini的配置选项 。
cmd执行 。
1
|
pytest --help
|
找到这部分内容 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
[pytest] ini-options in the first pytest.ini|tox.ini|setup.cfg file found:
markers (linelist): markers
for
test functions
empty_parameter_set_mark (string):
default
marker
for
empty parametersets
norecursedirs (args): directory patterns to avoid
for
recursion
testpaths (args): directories to search
for
tests when no files or directories are given in the command line.
usefixtures (args): list of
default
fixtures to be used with
this
project
python_files (args): glob-style file patterns
for
python test module discovery
python_classes (args):
prefixes or glob names
for
python test
class
discovery
python_functions (args):
prefixes or glob names
for
python test function and method discovery
disable_test_id_escaping_and_forfeit_all_rights_to_community_support (bool):
disable string escape non-ascii characters, might cause unwanted side effects(use at your own
risk)
console_output_style (string):
console output:
"classic"
, or with additional progress information (
"progress"
(percentage) |
"count"
).
xfail_strict (bool):
default
for
the strict parameter of xfail markers when not given explicitly (
default
:
false
)
enable_assertion_pass_hook (bool):
enables the pytest_assertion_pass hook.make sure to delete any previously generated pyc cache
files.
junit_suite_name (string):
test suite name
for
junit report
junit_logging (string):
write captured log messages to junit report: one of no|log|system-out|system-err|out-err|all
junit_log_passing_tests (bool):
capture log information
for
passing tests to junit report:
junit_duration_report (string):
duration time to report: one of total|call
junit_family (string):
emit xml
for
schema: one of legacy|xunit1|xunit2
doctest_optionflags (args):
option flags
for
doctests
doctest_encoding (string):
encoding used
for
doctest files
cache_dir (string): cache directory path.
filterwarnings (linelist):
each line specifies a pattern
for
warnings.filterwarnings. processed after -w/--pythonwarnings.
log_print (bool):
default
value
for
--no-print-logs
log_level (string):
default
value
for
--log-level
log_format (string):
default
value
for
--log-format
log_date_format (string):
default
value
for
--log-date-format
log_cli (bool): enable log display during test run (also known as
"live logging"
).
log_cli_level (string):
default
value
for
--log-cli-level
log_cli_format (string):
default
value
for
--log-cli-format
log_cli_date_format (string):
default
value
for
--log-cli-date-format
log_file (string):
default
value
for
--log-file
log_file_level (string):
default
value
for
--log-file-level
log_file_format (string):
default
value
for
--log-file-format
log_file_date_format (string):
default
value
for
--log-file-date-format
log_auto_indent (string):
default
value
for
--log-auto-indent
faulthandler_timeout (string):
dump the traceback of all threads
if
a test takes more than timeout seconds to finish. not
available on windows.
addopts (args): extra command line options
minversion (string): minimally required pytest version
rsyncdirs (pathlist): list of (relative) paths to be rsynced
for
remote distributed testing.
rsyncignore (pathlist):
list of (relative) glob-style paths to be ignored
for
rsyncing.
looponfailroots (pathlist):
directories to check
for
changes
|
就放在项目根目录下 ,不要乱放,不要乱起其他名字 。
marks 。
作用:测试用例中添加了 @pytest.mark.webtest 装饰器,如果不添加marks选项的话,就会报warnings 。
格式:list列表类型 。
写法:
1
2
3
4
5
|
[pytest]
markers =
weibo:
this
is weibo page
toutiao: toutiao
xinlang: xinlang
|
xfail_strict 。
作用:设置xfail_strict = true可以让那些标记为@pytest.mark.xfail但实际通过显示xpass的测试用例被报告为失败 。
格式:true 、false(默认),1、0 。
写法:
1
2
3
4
5
6
7
8
9
|
[pytest]
# mark标记说明
markers =
weibo:
this
is weibo page
toutiao: toutiao
xinlang: xinlang
xfail_strict =
true
|
具体代码栗子 。
未设置 xfail_strict = true 时,测试结果显示xpass 。
1
2
3
4
5
|
@pytest
.mark.xfail()
def test_case1():
a =
"a"
b =
"b"
assert
a != b
|
collecting ... collected 1 item 。
02断言异常.py::test_case1 xpass [100%] 。
============================= 1 xpassed in 0.02s ============================== 。
已设置 xfail_strict = true 时,测试结果显示failed 。
1
2
3
4
5
6
7
8
9
10
11
12
|
collecting ... collected
1
item
02
断言异常.py::test_case1 failed [
100
%]
02
断言异常.py:
54
(test_case1)
[xpass(strict)]
================================== failures ===================================
_________________________________ test_case1 __________________________________
[xpass(strict)]
===========================
short
test summary info ===========================
failed
02
断言异常.py::test_case1
==============================
1
failed in
0
.02s ==============================
|
addopts 。
作用:addopts参数可以更改默认命令行选项,这个当我们在cmd输入一堆指令去执行用例的时候,就可以用该参数代替了,省去重复性的敲命令工作 。
比如:想测试完生成报告,失败重跑两次,一共运行两次,通过分布式去测试,如果在cmd中写的话,命令会很长 。
1
|
pytest -v --rerun=
2
--count=
2
--html=report.html --self-contained-html -n=auto
|
每次都这样敲不太现实,addopts就可以完美解决这个问题 。
1
2
3
4
5
6
7
8
9
10
11
12
|
[pytest]
# mark
markers =
weibo:
this
is weibo page
toutiao: toutiao
xinlang: xinlang
xfail_strict =
true
# 命令行参数
addopts = -v --reruns=
1
--count=
2
--html=reports.html --self-contained-html -n=auto
|
加了addopts之后,我们在cmd中只需要敲pytest就可以生效了!! 。
log_cli 。
作用:控制台实时输出日志 。
格式:log_cli=true 或false(默认),或者log_cli=1 或 0 。
log_cli=0的运行结果 。
log_cli=1的运行结果 。
很明显,加了log_cli=1之后,可以清晰看到哪个package下的哪个module下的哪个测试用例是否passed还是failed; 。
所以平时测试代码是否有问题的情况下推荐加!!!但如果拿去批量跑测试用例的话不建议加,谁知道会不会影响运行性能呢?
norecursedirs 。
作用:pytest 收集测试用例时,会递归遍历所有子目录,包括某些你明知道没必要遍历的目录,遇到这种情况,可以使用 norecursedirs 参数简化 pytest 的搜索工作【还是挺有用的!!!】 。
默认设置: norecursedirs = .* build dist cvs _darcs {arch} *.egg 。
正确写法:多个路径用空格隔开 。
1
2
3
|
[pytest]
norecursedirs = .* build dist cvs _darcs {arch} *.egg venv src resources log report util
|
pytest默认的测试用例收集规则 。
我们是可以修改或者添加这个用例收集规则的;当然啦,是建议在原有的规则上添加的,如下配置 。
1
2
3
4
5
|
[pytest]
python_files = test_* *_test test*
python_classes = test* test*
python_functions = test_* test*
|
到此这篇关于pytest配置文件pytest.ini的详细使用的文章就介绍到这了,更多相关pytest.ini配置内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://www.cnblogs.com/poloyy/p/12702294.html 。
最后此篇关于pytest配置文件pytest.ini的详细使用的文章就讲到这里了,如果你想了解更多关于pytest配置文件pytest.ini的详细使用的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我需要在整体超时的情况下停止测试用例,而不是在测试用例级别。 所以如果让我说我有 300 个测试用例,我想超时,总时间为 300 秒。 有没有办法做到这一点? 用于运行 pytest 的示例命令 py
我会默认使用一些参数( -n 2 )运行 pytest 但如果我只输入 pytest ... ,我不希望默认使用该参数直接运行pytest。这可能吗? 如果我包括这个: [pytest] addopt
给定以下模型: import pytest class DummyFile(pytest.File): def collect(self): yield DummyItem(s
对于 pytest,我正在使用库 pytest-dependency 设置依赖项.我还为这些测试添加了标记。这是一个 ECM: # test_test.py import pytest @pytest
我想使用逻辑来控制我的测试的顺序,这将在它们已经运行时动态重新排序它们。 我的用例是这样的:我正在使用 xdist 并行化我的测试,并且每个测试都使用来自公共(public)和有限池的外部资源。一些测
我需要标记要跳过的某些测试。但是,有些测试是参数化的,我只需要能够跳过某些场景。 我使用 py.test -m "hermes_only" 调用测试或 py.test -m "not hermes_o
问题是我给定的 fixture 函数具有外部依赖性,这会导致“错误”(例如无法访问的网络/资源不足等)。 我想跳过 fixture ,然后跳过任何依赖于该 fixture 的测试。 做这样的事情是行不
我正在试用 pytest首次。我如何抑制发出的关于我的代码所依赖的其他人的代码的警告而不抑制关于我自己的代码的警告? 现在我的 pytest.ini 中有这个所以我不必看到 pytest 警告我关于
我试图跳过依赖于命令行参数值的特定测试。我尝试使用 pytest.config.getoption("--some-custom-argument") 获取参数值就像这里描述的一样 related q
我目前使用的是 python 3.5.1 和 3.6 以及最新版本的 pytest。当使用参数化测试运行 pytest 时,我希望任何失败的测试仅显示失败的测试,而不是参数化测试的所有设置。 解释一下
在我的测试套件中,我有一些数据生成装置,用于许多参数化测试。其中一些测试希望这些装置在每个 session 中只运行一次,而另一些则需要它们运行每个功能。例如,我可能有一个类似于: @pytest.f
我想在运行时获取测试名称和测试结果。 我有 setup和 tearDown我的脚本中的方法。在 setup ,我需要获取测试名称,并在 tearDown我需要得到测试结果和测试执行时间。 有没有办法我
有没有办法在 PyTest fixture 中定义标记? 当我指定 -m "not slow" 时,我试图禁用慢速测试在 pytest 中。 我已经能够禁用单个测试,但不能禁用用于多个测试的 fixt
我最低限度地使用 pytest 作为针对工作中各种 API 产品的大型自动化集成测试的通用测试运行器,并且我一直在尝试寻找一个同样通用的拆卸函数示例,该函数在任何测试完成时运行,无论成功或失败。 我的
即使在写入管道时,如何强制 pytest 以颜色显示结果?似乎没有任何命令行选项可以这样做。 最佳答案 从 2.5.0 开始,py.test 有选项 --color=yes 从 2.7.0 开始,还应
作为一组更大的测试的一小部分,我有一套测试函数,我想在每个对象列表上运行。基本上,我有一组插件和一组“插件测试”。 天真地,我可以只列出一个带有插件参数的测试函数列表和一个插件列表,然后进行测试,我在
我想为 pytest-xdist 产生的每个子进程/网关创建一个单独的日志文件。是否有一种优雅的方法可以找出 pytest 当前所在的子进程/网关?我正在使用位于 conftest.py 的 sess
我的测试脚本如下 @pytest.fixture(scope="Module", Autouse="True") def setup_test(): ....................
我正在尝试像这样参数化我的类测试: @pytest.mark.parametrize('current_user', ["test_profile_premium", "test_profile_fr
我不明白如何正确运行一个简单的测试(功能文件和 python 文件) 与图书馆 pytest-bdd . 来自官方documentation ,我无法理解要发出什么命令来运行测试。 我尝试使用 pyt
我是一名优秀的程序员,十分优秀!