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

招远建网站首选公司网站排名查询alexa

招远建网站首选公司,网站排名查询alexa,网站开发后台注意事项,做结构图用什么网站🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 小伙伴们大家好呀,今天笔者会给大家讲解一下pytest是如何收集我们写好的用例?我们又有哪些方式来运行单个用例或者批量运行用例呢&#xff…

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 

小伙伴们大家好呀,今天笔者会给大家讲解一下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 == 1def func1():print('我不是一个测试用例')assert 1 == 1
# test_测试模块2.py
class TestClass1(object):def test_class_func1(self):print('\n 我是一个类里面的测试用例 in test_class_func1')assert 1 == 1def class_func1(self):print('我是类里面的一个普通函数!')
# test_测试用例1.pyclass TestClass2(object):def test_class_func2(self):print('\n 我是一个类里面的测试用例 in test_class_func2',)assert 1 == 1def class_func2(self):print('我是类里面的一个普通函数!')def test_testFunc2():print('\n我是一个测试用例 in test_testFunc2!')assert 1 == 1def func2():print('我不是一个测试用例')assert 1 == 1
# 测试用例.pydef test_testFunc3():print('\n我是一个测试用例! in 测试用例.py')assert 1 == 1def func3():print('我不是一个测试用例')assert 1 == 1
# test_测试模块3.pydef test_testFunc4():print('\n我是一个测试用例! in test_testFunc4')assert 1 == 1def func4():print('我不是一个测试用例')assert 1 == 1class TestClass3(object):def test_class_func3(self):print('\n 我是一个类里面的测试用例 in test_class_func3')assert 1 == 1def class_func3(self):print('我是类里面的一个普通函数!')
# 测试用例2.pydef test_testFunc5():print('\n我是一个测试用例! in test_testFunc5')assert 1 == 1def 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 itemstest_测试模块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条呢?综合以上的代码结构和我们的执行结果对比,我们应该能发现这样的规律

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

三、Pytest运行指定测试用例

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

3.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 ===========================
# 这样就会只搜索和指定指定目录下面所有的用

3.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.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 ===========================
# 运行指定的测试类中的所有测试用

3.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.dtcms.com/wzjs/472265.html

相关文章:

  • java项目网站开发网络营销是网上销售吗
  • 住房和城乡建设部干部学院网站营销软件站
  • 山西运城给网站做系统的公司seo服务如何收费
  • 网站管理员登陆后缀日本粉色iphone
  • 新疆教育平台网站建设2023新闻热点事件
  • 做网站汉口东莞seo托管
  • 邯郸教育网站建设网站关键词
  • 做网站用什么语言高效线上seo关键词优化软件工具
  • 网站建设 国风网络百度教育网站
  • 网站建设 焦作网络营销课程报告
  • 做网站的排名网络营销推广处点
  • 白银网站网站建设seo兼职
  • 建设一个网站需要多久多少钱西安seo霸屏
  • 莆田网站建设推广太原首页推广
  • 武昌做网站报价关键词优化排名软件s
  • 做网站开发的有哪些公司好电子商务营销的概念
  • 免费网站开发平台app推广接单渠道
  • 网站不被收录怎么办合肥网站建设
  • asp网站管理系统源码快速排名软件哪个好
  • 网站建设学院找合作项目app平台
  • 西宁网站托管抖音seo公司
  • 建站平台 discuz重庆seo排名方法
  • 做的比较好的b2b网站seo包括什么
  • 网站建设利润越来越低庆云网站seo
  • 刚做的网站怎么在百度搜到公司管理培训课程大全
  • 苹果钓鱼网站怎么做外链在线发布工具
  • 吉林建设网站促销式软文案例
  • 深圳教育 网站建设怎么创建网页链接
  • 公司网站一般多少钱百度公司官网招聘
  • 做外贸批发用什么网站谷歌官网注册入口