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

国外游戏商城网站欣赏国内新闻最新

国外游戏商城网站欣赏,国内新闻最新,重庆安全监督工程信息网,wordpress插件官网前言上篇文章相信大家已经了解了pytest在cmd下结合各种命令行参数如何运行测试用例,并输出我们想要看到的信息。那么今天会讲解一下pytest是如何收集我们写好的用例?我们又有哪些方式来运行单个用例或者批量运行用例呢?下面将为大家一一解答&…

前言

上篇文章相信大家已经了解了pytest在cmd下结合各种命令行参数如何运行测试用例,并输出我们想要看到的信息。那么今天会讲解一下pytest是如何收集我们写好的用例?我们又有哪些方式来运行单个用例或者批量运行用例呢?下面将为大家一一解答!

pytest收集用例原理分析

首先我们按照如下目录结构新建我们的项目

[pyttest搜索测试用例的规则]

|[测试用例目录1]

| |__init__.py

| |test_测试模块1.py

| |test_测试模块2.py

|[测试用例目录2]

| |__init__.py

| |test_测试用例1.py

| |测试用例.py

|test_测试模块.py

|测试用例2.py

代码实例

# test_测试模块1.py

def test_testFunc1():

print('\n我是一个测试用例! in test_testFunc1')

assert 1 == 1

def func1():

print('我不是一个测试用例')

assert 1 == 1

# test_测试模块2.py

class TestClass1(object):

def test_class_func1(self):

print('\n 我是一个类里面的测试用例 in test_class_func1')

assert 1 == 1

def class_func1(self):

print('我是类里面的一个普通函数!')

# test_测试用例1.py

class TestClass2(object):

def test_class_func2(self):

print('\n 我是一个类里面的测试用例 in test_class_func2',)

assert 1 == 1

def class_func2(self):

print('我是类里面的一个普通函数!')

def test_testFunc2():

print('\n我是一个测试用例 in test_testFunc2!')

assert 1 == 1

def func2():

print('我不是一个测试用例')

assert 1 == 1

# 测试用例.py

def test_testFunc3():

print('\n我是一个测试用例! in 测试用例.py')

assert 1 == 1

def func3():

print('我不是一个测试用例')

assert 1 == 1

# test_测试模块3.py

def test_testFunc4():

print('\n我是一个测试用例! in test_testFunc4')

assert 1 == 1

def func4():

print('我不是一个测试用例')

assert 1 == 1

class TestClass3(object):

def test_class_func3(self):

print('\n 我是一个类里面的测试用例 in test_class_func3')

assert 1 == 1

def class_func3(self):

print('我是类里面的一个普通函数!')

# 测试用例2.py

def test_testFunc5():

print('\n我是一个测试用例! in test_testFunc5')

assert 1 == 1

def func5():

print('我不是一个测试用例')

assert 1 == 1

下面我们使用cmd命令来执行一下这个项目,看一下究竟会有多少条用例是有效的用例?打开cmd 切换到项目的根目录执行命令 pytest -v

D:\pytest搜索测试用例规则>pytest -v

============================= test session starts =============================

platform win32 -- Python 3.6.4, pytest-3.8.0, py-1.6.0, pluggy-0.7.1 -- c:\python36\python.exe

cachedir: .pytest_cache

metadata: {'Python': '3.6.4', 'Platform': 'Windows-10-10.0.17134-SP0', 'Packages': {'pytest': '3.8.0', 'py': '1.6.0', 'pluggy': '0.7.1'}, 'Plugins': {'metadata': '1.8.0', 'html': '1.20.0', 'allure-adaptor': '1.7.10'}, 'JAVA_HOME': 'C:\\Program Files\\Java\\jdk1.8.0_181'}

rootdir: D:\pytest搜索测试用例规则, inifile:

plugins: metadata-1.8.0, html-1.20.0, allure-adaptor-1.7.10

collected 6 items

test_测试模块3.py::test_testFunc4 PASSED [ 16%]

test_测试模块3.py::TestClass3::test_class_func3 PASSED [ 33%]

测试用例目录1/test_测试模块1.py::test_testFunc1 PASSED [ 50%]

测试用例目录1/test_测试模块2.py::TestClass1::test_class_func1 PASSED [ 66%]

测试用例目录2/test_测试用例1.py::TestClass2::test_class_func2 PASSED [ 83%]

测试用例目录2/test_测试用例1.py::test_testFunc2 PASSED [100%]

========================== 6 passed in 0.59 seconds ===========================

运行结果可以看到一共有6条用例passed,且详细的列出了是哪6条,那么按照我们上面编写的用例其实并不止6条,那么为什么会只运行了6条呢?综合以上的代码结构和我们的执行结果对比,我们应该能发现这样的规律

pytets会从我们当前运行的目录开始查找所有目录,查找以test_开头的文件且文件中所有以test_开头的函数和以Test开头的类和类里面以test_开头的函数为测试用例。这就是为什么上面之运行了6条测试用例!

pytest运行指定测试用例

我们仍然使用上面的项目作为演示(cdm切换到项目的根目录)

1.运行指定目录下的所有用例

我们指定运行测试用例目录1里面的所有用例(pytest -v 测试用例目录1)

D:\pytest搜索测试用例规则>pytest -v 测试用例目录1

============================= test session starts =============================

platform win32 -- Python 3.6.4, pytest-3.8.0, py-1.6.0, pluggy-0.7.1 -- c:\python36\python.exe

cachedir: .pytest_cache

metadata: {'Python': '3.6.4', 'Platform': 'Windows-10-10.0.17134-SP0', 'Packages': {'pytest': '3.8.0', 'py': '1.6.0', 'pluggy': '0.7.1'}, 'Plugins': {'metadata': '1.8.0', 'html': '1.20.0', 'allure-adaptor': '1.7.10'}, 'JAVA_HOME': 'C:\\Program Files\\Java\\jdk1.8.0_181'}

rootdir: D:\pytest搜索测试用例规则, inifile:

plugins: metadata-1.8.0, html-1.20.0, allure-adaptor-1.7.10

collected 2 items

测试用例目录1/test_测试模块1.py::test_testFunc1 PASSED [ 50%]

测试用例目录1/test_测试模块2.py::TestClass1::test_class_func1 PASSED [100%]

========================== 2 passed in 0.05 seconds ===========================

# 这样就会只搜索和指定指定目录下面所有的用

2.运行指定文件中的所有用例

我们指定运行test_测试模块1.py(pytest -v 测试用例目录1/test_测试模块1.py )

D:\pytest搜索测试用例规则>pytest -v 测试用例目录1/test_测试模块1.py

============================= test session starts =============================

platform win32 -- Python 3.6.4, pytest-3.8.0, py-1.6.0, pluggy-0.7.1 -- c:\python36\python.exe

cachedir: .pytest_cache

metadata: {'Python': '3.6.4', 'Platform': 'Windows-10-10.0.17134-SP0', 'Packages': {'pytest': '3.8.0', 'py': '1.6.0', 'pluggy': '0.7.1'}, 'Plugins': {'metadata': '1.8.0', 'html': '1.20.0', 'allure-adaptor': '1.7.10'}, 'JAVA_HOME': 'C:\\Program Files\\Java\\jdk1.8.0_181'}

rootdir: D:\pytest搜索测试用例规则, inifile:

plugins: metadata-1.8.0, html-1.20.0, allure-adaptor-1.7.10

collected 1 item

测试用例目录1/test_测试模块1.py::test_testFunc1 PASSED [100%]

========================== 1 passed in 0.09 seconds ===========================

# 运行指定文件下的所有用例

3.运行指定文件中的测试类

我们指定运行test_测试模块2.py中的测试类Testclass1(pytest -v 测试用例目录1/test_测试模块2.py::TestClass1)

D:\pytest搜索测试用例规则>pytest -v 测试用例目录1/test_测试模块2.py::TestClass1

============================= test session starts =============================

platform win32 -- Python 3.6.4, pytest-3.8.0, py-1.6.0, pluggy-0.7.1 -- c:\python36\python.exe

cachedir: .pytest_cache

metadata: {'Python': '3.6.4', 'Platform': 'Windows-10-10.0.17134-SP0', 'Packages': {'pytest': '3.8.0', 'py': '1.6.0', 'pluggy': '0.7.1'}, 'Plugins': {'metadata': '1.8.0', 'html': '1.20.0', 'allure-adaptor': '1.7.10'}, 'JAVA_HOME': 'C:\\Program Files\\Java\\jdk1.8.0_181'}

rootdir: D:\pytest搜索测试用例规则, inifile:

plugins: metadata-1.8.0, html-1.20.0, allure-adaptor-1.7.10

collected 1 item

测试用例目录1/test_测试模块2.py::TestClass1::test_class_func1 PASSED [100%]

========================== 1 passed in 0.05 seconds ===========================

# 运行指定的测试类中的所有测试用

4.运行指定的测试用例函数

我们指定运行test_testFunc1(pytest -v 测试用例目录1/test_测试模块1.py::test_testFunc1)

D:\pytest搜索测试用例规则>pytest -v 测试用例目录1/test_测试模块1.py::test_testFunc1

============================= test session starts =============================

platform win32 -- Python 3.6.4, pytest-3.8.0, py-1.6.0, pluggy-0.7.1 -- c:\python36\python.exe

cachedir: .pytest_cache

metadata: {'Python': '3.6.4', 'Platform': 'Windows-10-10.0.17134-SP0', 'Packages': {'pytest': '3.8.0', 'py': '1.6.0', 'pluggy': '0.7.1'}, 'Plugins': {'metadata': '1.8.0', 'html': '1.20.0', 'allure-adaptor': '1.7.10'}, 'JAVA_HOME': 'C:\\Program Files\\Java\\jdk1.8.0_181'}

rootdir: D:\pytest搜索测试用例规则, inifile:

plugins: metadata-1.8.0, html-1.20.0, allure-adaptor-1.7.10

collected 1 item

测试用例目录1/test_测试模块1.py::test_testFunc1 PASSED [100%]

========================== 1 passed in 0.03 seconds ===========================

总结

收集用例规则:搜索所有以test_开头的测试文件,以Test开头的测试类,以test_开头的测试函数

执行用例规则:从-v 参数输出的执行信息我们就应该能发现,运行指定的目录下用例 使用命令 pytest 目录/目录 即可;运行指定文件使用 pytest 目录/文件 即可;运行指定类或者函数 使用命令 pytest 目录/文件::类名::函数名 或者 pytest 目录/文件::函数名

搜索用例规则也是我们命名用例文件,测试类,测试函数的规则;执行指定测试用例记住规则即可

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

http://www.lbrq.cn/news/2530729.html

相关文章:

  • 天津网站建设怎么样自媒体推广平台
  • 三站合一的网站怎么做百度关键词快速排名
  • wordpress建哪些网站海淀区seo全面优化
  • 静安做网站公司怎么申请网站
  • 网站建设的客户都在哪里百度广告投放价格表
  • wordpress个人模板seo图片优化
  • 海外网站制作市场营销策略有哪4种
  • python做的知名网站seo关键字优化
  • 做问卷网站营销计划
  • 广州 日本 设计网站做网站的公司哪家最好
  • 做期货看啥子网站关键词优化排名软件s
  • 团队网站怎么做谷歌搜索引擎
  • 少儿编程十大培训机构seo入门培训课程
  • 南京网站建设公司哪家好百度一下就知道了官网榡
  • 网站设置主页在哪里手机建站
  • 电子商务企业网站的推广方式成都计算机培训机构排名前十
  • 海外域名注册网站网站查询工具seo
  • 怎么查看网站有没有做推广竞价恶意点击犯法吗
  • 安监局网站建设软文写作什么意思
  • 建设一个网站需要哪些推广方案策划
  • 商城网站建设平台手机百度收录提交入口
  • 南阳做网站优化哪家好黄冈seo顾问
  • 产品网站用什么软件做清远新闻最新
  • 宁波北京网站建设百度推广是做什么的
  • 建网站都要什么费用上海百度公司总部
  • 湘潭做网站价格找磐石网络一流百度竞价推广登陆
  • 数据库2008做企业网站优化网站软文
  • 做网站赌博代理的犯法么模板免费下载网站
  • 网上做兼职网站公司网站怎么弄
  • 只做美食类目产品的网站关键词搜索热度
  • 安全月报 | 傲盾DDoS攻击防御2025年7月简报
  • 【扩散模型专栏】01 扩散模型入门:概念与背景
  • RabbitMQ 消费者确认 (Ack/Nack) (With Spring Boot)
  • LLC电源原边MOS管DS增加RC吸收对ZVS的影响分析
  • QT笔记--》QMenu
  • Flow Model Flow Matching