当前位置: 首页 > wzjs >正文

贵阳个人做网站曹县网站开发

贵阳个人做网站,曹县网站开发,雄安免费网站建设电话,wordpress 局域网缩写单词含义.passed通过Ffailed失败(用例执行时报错)Eerror出错(fixture执行报错)sskipped跳过Xxpassed预期外的通过(不符合预期)xxfailed预期内的失败(符合预期) 1.pytest 配置 1…
缩写单词含义
.passed通过
Ffailed失败(用例执行时报错)
Eerror出错(fixture执行报错)
sskipped跳过
Xxpassed预期外的通过(不符合预期)
xxfailed预期内的失败(符合预期)


1.pytest 配置

1.查看pytest的所有配置项

在pycharm的terminal中 输入下面的代码,即可查看所有的配置项

pytest -h                                                                                                                                    usage: pytest [options] [file_or_dir] [file_or_dir] [...]

部分配置项 :


-v, --verbose         Increase verbosity   # 增加输出详细程度
-q, --quiet           Decrease verbosity   # 减少输出详细程度-x, --exitfirst       Exit instantly on first error or failed test   # 在第一个错误或测试失败时立即退出markers (linelist):   Register new markers for test functions # 注册新标记
addopts (args):       Extra command line options  # add options:添加额外的命令行选项,在使用ini文件配置时使用 
2.配置:配置有两种方法:
  • 命令行参数
  •  ini配置文件
3.命令行参数

命令行参数就是每次执行测试的时候在 pytest 命令后面添加 参数:下面是一个简单的测试代码:

def test_pass():assert (10 == 10)

在terminal中执行  pytest 输出为 

接下来在terminal中执行 pytest -v 命令,输出为:

        可以看到  pytest -v 命令的输出比 pytest 命令的输出更详细,而且 -v  是可以叠加的,也就是可以使用多个v来尽可能的增加详细程度 ,-vv,-vvv,-vvvv都是可以的。同理,-q 也是一致,并且 -v -q 还可以同时使用,不过一个增加详细程度,一个减少详细程度,同时使用效果就抵消了。多个v 和多个q也可以同时使用,例如:pytest -vvv -qqqq  就看哪个多了。鉴于这里的用例比较简单,在减少/增加详细程度也不会有太大的变化,就不再放图了。

4.ini配置文件

      每次都要在命令后加相应的配置项很麻烦,更加方便的方法是使用ini配置文件,将需要使用的配置项放进去,这样每次在执行的时候,由系统自动的将配置项加到命令后面,就不需要在手动添加了。

  1. 根目录中创建   pytest.ini 文件
  2. 创建 pytest 选择器 [pytest]
  3. 按行添加需要的配置项(addopts)
[pytest]
addopts = -s -v

2.标记mark

mark的主要作用是让用例变得不同,实现用例的筛选。标记有两种,一种是pytest框架内置的标记,一种是用户自定义的标记

1.用户自定义的标记

1.注册:在ini配置文件中实现,例如

markers =apiuiut

2.标记,标记是可以叠加的。

import pytest@pytest.mark.ut   # 标记
def test_pass():assert 1 == 1@pytest.mark.api   标记
def test_fail():assert 1 == 2@pytest.mark.ut   # 标记
@pytest.mark.ui   # 标记
def test_skip():assert 1 == 1

3.筛选

可以根据标记对用例进行筛选,terminal / ini配置文件中均可实现。例如, 只执行拥有api标记的用例

ini 文件配置 

addopts = -s -v -m api

terminal中实现

pytest -m api  # 只执行拥有api标记的用例

D:\python_project\API_Auto\API1\venv\Scripts\python.exe D:\python_project\API_Auto\API1\run.py 
============================= test session starts =============================
platform win32 -- Python 3.10.6, pytest-8.3.5, pluggy-1.5.0 -- D:\python_project\API_Auto\API1\venv\Scripts\python.exe
cachedir: .pytest_cache
rootdir: D:\python_project\API_Auto\API1
configfile: pytest.ini
collecting ... collected 3 items / 2 deselected / 1 selectedtest_mark.py::test_fail FAILED================================== FAILURES ===================================
__________________________________ test_fail __________________________________@pytest.mark.apidef test_fail():
>       assert 1 == 2
E       assert 1 == 2test_mark.py:11: AssertionError
=========================== short test summary info ===========================
FAILED test_mark.py::test_fail - assert 1 == 2
======================= 1 failed, 2 deselected in 0.09s =======================Process finished with exit code 0

      可以看到,一共有三个用例,但是只执行了拥有api标记的用例,并且这个用例执行结果是失败的。

      另外,标记支持逻辑运算。

pytest -m ("ut or api")    # 执行标记为 ut 或者 api 的用例

D:\python_project\API_Auto\API1\venv\Scripts\python.exe D:\python_project\API_Auto\API1\run.py 
============================= test session starts =============================
platform win32 -- Python 3.10.6, pytest-8.3.5, pluggy-1.5.0 -- D:\python_project\API_Auto\API1\venv\Scripts\python.exe
cachedir: .pytest_cache
rootdir: D:\python_project\API_Auto\API1
configfile: pytest.ini
collecting ... collected 3 itemstest_mark.py::test_pass PASSED
test_mark.py::test_fail FAILED
test_mark.py::test_skip PASSED================================== FAILURES ===================================
__________________________________ test_fail __________________________________@pytest.mark.apidef test_fail():
>       assert 1 == 2
E       assert 1 == 2test_mark.py:11: AssertionError
=========================== short test summary info ===========================
FAILED test_mark.py::test_fail - assert 1 == 2
========================= 1 failed, 2 passed in 0.11s =========================Process finished with exit code 0

     可以看到,三个用例都符合条件,所以三个用例都被执行了。 

pytest -m ("ut and ui")    # 执行同时具有标记为 ut 和 ui 的用例

D:\python_project\API_Auto\API1\venv\Scripts\python.exe D:\python_project\API_Auto\API1\run.py 
============================= test session starts =============================
platform win32 -- Python 3.10.6, pytest-8.3.5, pluggy-1.5.0 -- D:\python_project\API_Auto\API1\venv\Scripts\python.exe
cachedir: .pytest_cache
rootdir: D:\python_project\API_Auto\API1
configfile: pytest.ini
collecting ... collected 3 items / 2 deselected / 1 selectedtest_mark.py::test_skip PASSED======================= 1 passed, 2 deselected in 0.01s =======================Process finished with exit code 0

 可以看到,只有一个用例符合要求,所以只执行了这一个用例

@pytest.mark.ut   # 标记
@pytest.mark.ui   # 标记
def test_skip():assert 1 == 1
2.框架内置标记
  1.  不需要注册,直接使用
  2.  不仅用于筛选,还有特殊效果
  3.  不同的标记,拥有不同的效果
    1. skip:无条件跳过
    2. skipif:有条件跳过
    3. xfail:预期失败
    4. parametrize:参数化: 框架为用例传递参数
    5. usefixture:使用fixture
import pytest@pytest.mark.skip  # 跳过
def test_skip():assert 1 + 1 == 2@pytest.mark.skipif(1 == 1, reason="1=1,结果为真,所以skip")  # 跳过
def test_skipif():assert 1 + 1 == 4@pytest.mark.xfail   # 预期结果是失败,实际结是失败。是预期内的失败
def test_xfail():assert 1 + 1 == 3@pytest.mark.xfail   # 预期结果是失败,实际结是成功。是预期外的成功
def test_xpass():assert 1 + 1 == 2@pytest.mark.parametrize(   # 参数化"a, b, c",  # 列出参数[# 准备参数的值[1, 1, 2],[1, 1, 3]]
)
def test_param(a, b,  c):assert (a + b) == c
缩写单词含义
.passed通过
Ffailed失败(用例执行时报错)
Eerror出错(fixture执行报错)
sskipped跳过
Xxpassed预期外的通过(不符合预期)
xxfailed预期内的失败(符合预期)

输出结果 :

D:\python_project\API_Auto\API1\venv\Scripts\python.exe D:\python_project\API_Auto\API1\run.py 
============================= test session starts =============================
platform win32 -- Python 3.10.6, pytest-8.3.5, pluggy-1.5.0 -- D:\python_project\API_Auto\API1\venv\Scripts\python.exe
cachedir: .pytest_cache
rootdir: D:\python_project\API_Auto\API1
configfile: pytest.ini
collecting ... collected 6 itemstest_mark.py::test_skip SKIPPED (unconditional skip)
test_mark.py::test_skipif SKIPPED (1=1,结果为真,所以skip)
test_mark.py::test_xfail XFAIL
test_mark.py::test_xpass XPASS
test_mark.py::test_param[1-1-2] PASSED
test_mark.py::test_param[1-1-3] FAILED================================== FAILURES ===================================
______________________________ test_param[1-1-3] ______________________________a = 1, b = 1, c = 3@pytest.mark.parametrize(   # 参数化"a, b, c",  # 列出参数[# 准备参数的值[1, 1, 2],[1, 1, 3]])def test_param(a, b,  c):
>       assert (a + b) == c
E       assert (1 + 1) == 3test_mark.py:32: AssertionError
=========================== short test summary info ===========================
FAILED test_mark.py::test_param[1-1-3] - assert (1 + 1) == 3
======== 1 failed, 1 passed, 2 skipped, 1 xfailed, 1 xpassed in 0.10s =========Process finished with exit code 0


文章转载自:

http://hg2NPdDs.ttdxn.cn
http://ZMrzmu2f.ttdxn.cn
http://L0OoY7mk.ttdxn.cn
http://NZ2Zgo2x.ttdxn.cn
http://4SJgE9Nb.ttdxn.cn
http://fEQXGjkg.ttdxn.cn
http://WFzmgugN.ttdxn.cn
http://vi7uShjV.ttdxn.cn
http://UW83T8du.ttdxn.cn
http://ngQ1LCnz.ttdxn.cn
http://YZE8j5Lw.ttdxn.cn
http://cH9c5LNS.ttdxn.cn
http://yLRTGM1s.ttdxn.cn
http://2XbE4wFN.ttdxn.cn
http://ohbKmSbP.ttdxn.cn
http://ou6rIeuB.ttdxn.cn
http://uPUS7T9k.ttdxn.cn
http://U4vxZBXK.ttdxn.cn
http://GHqJ4JXV.ttdxn.cn
http://QK9CoXjt.ttdxn.cn
http://27gh7oCK.ttdxn.cn
http://DnSAHQMt.ttdxn.cn
http://76Dtkyel.ttdxn.cn
http://pyelIYql.ttdxn.cn
http://StFTXuGP.ttdxn.cn
http://d1FzVgKj.ttdxn.cn
http://Sw5lbKC5.ttdxn.cn
http://Y8gfLrWw.ttdxn.cn
http://bBA9CwjT.ttdxn.cn
http://mLYz7tpk.ttdxn.cn
http://www.dtcms.com/wzjs/709907.html

相关文章:

  • 商务网站建设毕业设计模板个人做电商网站赚钱吗
  • 如何评判一个网站建设的怎么样创造网址
  • 游民星空是用什么做的网站电商产品开发流程
  • 网网站基础建设优化知识网站建设的市场定位的方案
  • 黑龙江网站建设企业aso优化技巧大aso技巧
  • 建站推广文案科技基金
  • 龙岗网站建设_公司推广wordpress透明化插件
  • 网站开发步骤规划沈阳网站制作 房小二网
  • 上海知名的网站建设公司六安马启兵轮轩案
  • 做包装盒子的厂家哪个网站北京学校线上教学
  • 接网站建设_网站设计企业网站建设管理制度
  • 外贸网站建设公司平台网站的导入流量怎么做
  • 湛江网站建设方案策划网站大学报名官网入口
  • 网站备案要营业执照原件吗手机网站开发+图库类
  • 狗贩子怎么做网站卖狗融资平台公司是什么意思
  • 集团网站建设网络公司广告公司网站设计策划书
  • dw 怎么做钓鱼网站这么做国外网站的国内镜像站
  • 网站地图做计划任务济宁市建设工程质量监督站网站
  • 网站规划建设与管理维护大作业缪斯国际设计董事长
  • 满山红网站建设公司沧州自适应网站建设
  • 自己优化网站隐私浏览器
  • php 实现网站扫码登录网站运营优化
  • 东昌府区网站建设公司海口网站设计
  • 网站建设销售实训报告酒店软装设计公司官网
  • 大型电商网站开发建网站的目的
  • 全国建筑资质查询网站长沙seo优化推广
  • 面包屑 网站做本地网站赚钱
  • 网站有哪些内容网站子域名怎么设置
  • 陕西通达工程建设有限公司网站好的用户体验网站
  • 上海杨浦区建设网站公众号开发免费