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

江苏公司响应式网站建设报价网站栏目关键词

江苏公司响应式网站建设报价,网站栏目关键词,网页搜索引擎优化技术,wordpress宝塔开启sslUnittest vs Pytest 主要从用例编写规则、用例的前置和后置、参数化、断言、用例执行、失败重运行和报告这几个方面比较unittest和pytest的区别: 用例编写规则 用例前置与后置条件 断言 测试报告 失败重跑机制 参数化 用例分类执行 如果不好看#xff0c;可以看下面表格…Unittest vs Pytest 主要从用例编写规则、用例的前置和后置、参数化、断言、用例执行、失败重运行和报告这几个方面比较unittest和pytest的区别: 用例编写规则 用例前置与后置条件 断言 测试报告 失败重跑机制 参数化 用例分类执行 如果不好看可以看下面表格 总体来说unittest用例格式复杂兼容性无插件少二次开发方便。pytest更加方便快捷用例格式简单可以执行unittest风格的测试用例无须修改unittest用例的任何代码有较好的兼容性。pytest插件丰富比如flask插件可用于用例出错重跑还有xdist插件可用于设备并行执行效率更高。 实例演示 讲了七大区别总要演示一下具体实例用事实说话。 前后置区别 这里抽用例前置与后置的区别来讲先看unittest的前后置使用 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 import unittest class TestFixtures01(unittest.TestCase):     # 所有用例执行前执行     def setUp(self) - None:         print(setUp开始)     def tearDown(self) - None:         print(tearDown结束)     # 每条用例执行前执行     classmethod     def setUpClass(cls) - None:         print(setUpClass开始)     classmethod     def tearDownClass(cls) - None:         print(tearDownClass结束)     # 测试用例     def test_001(self):         print(测试用例001) class TestFixtures02(unittest.TestCase):     def test_002(self):         print(测试类2) # 每个模块执行前执行 def setUpModule():          在所有测试类在调用之前会被执行一次,函数名是固定写法,会被unittest框架自动识别          print(集成测试 开始) def tearDownModule():     print(集成测试 结束) if __name__  __main__:     unittest.main() 运行结果 从结果上得知 三个方法的逻辑优先级 setUp()tearDown()  setUpClass()tearDownClass()  setUpModule()tearDownModule() 接下来看pytest的前后置 1、我们都知道在自动化测试中都会用到前后置pytest 相比 unittest 无论是前后置还是插件等都灵活了许多还能自己用 fixture 来定义。 首先了解一下用例运行前后置级别如下 1.模块级全局的整个模块开只运行一次优先于测试用例。 2.类级别定义在类里面只针对此类生效。类似unittest的cls装饰器 3.函数级只对函数生效类下面的函数不生效。 4.方法级定义在类里面每个用例都执行一次 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 def setup_module():     print(\n整个模块 前 只运行一次) def teardown_module():     print(\n整个模块 后 只运行一次) def setup_function():     print(\n不在类中的函数每个用例 前 只运行一次) def teardown_function():     print(\n不在类中的函数每个用例 后 只运行一次) def test_ab():     b 2     assert b 3 def test_aba():     b 2     assert b 3 class Test_api():     def setup_class(self):         print(\n此类用例 前 只执行一次)     def teardown_class(self):         print(\n此类用例 后 只执行一次)     def setup_method(self):         print(\n此类每个用例 前 只执行一次)     def teardown_method(self):         print(\n此类每个用例 后 执行一次)     def test_aa(self):         a 1         print(\n我是用例a)       # pytest -s 显示打印内容         assert a 0     def test_b(self):         b 2         assert b 3 运行结果 2、这是原始用法下面看使用FixtureFixture 其实就是自定义 pytest 执行用例前置和后置操作首先创建 conftest.py 文件 规定此命名导入 pytest 模块运用 pytest.fixture 装饰器默认级别为函数级 其它用例文件调用即可如下定义一个函数继承 conftest.py 文件里的 login 函数即可调用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # conftest.py配置需要注意以下点 # conftest.py配置脚本名称是固定的不能改名称 # conftest.py与运行的用例要在同一个pakage下并且有__init__.py文件 # 不需要import导入 conftest.pypytest用例会自动查找 import pytest def test_one(login):     print(登陆后操作111) # def test_two(): #   print(操作222) # # def test_three(login): #   print(登陆后操作333) 运行结果 3、扩展用法多个自定义函数和全局级别展示全局的比如用于登录获取到token其他用例模块就不需要再登录了 1 2 3 4 5 6 7 8 9 10 import pytest def test_one(login):     print(登陆后操作111) def test_two(login,open_page):     print(测试用例2) def test_three(open_page):     print(测试用例3) 运行结果 细心的人应该可以知道测试用例2并没有调用login函数因为前置设置的是共享模式类似全局函数。 参数化区别 参数化应用场景一个场景的用例会用到多条数据来进行验证比如登录功能会用到正确的用户名、密码登录错误的用户名、正确的密码正确的用户名、错误的密码等等来进行测试这时就可以用到框架中的参数化来便捷的完成测试。 参数化 就是数据驱动思想即可以在一个测试用例中进行多组的数据测试而且每一组数据都是分开的、独立的。 unittest参数化其实是ddt叫数据驱动。 pytest数据驱动就是参数化使用pytest.mark.parametrize 1.先看unittest如何进行参数化 1 2 3 4 5 6 7 8 9 test_data [1,2,3] ddt.ddt class Testddt(unittest.TestCase):     ddt.data(*test_data)     def test_001(self,get_data):         print(get_data) if __name__  __main__:     unittest.main() 运行结果 2.pytest中参数化的用法 在测试用例的前面加上 pytest.mark.parametrize(参数名,列表数据) 参数名用来接收每一项数据并作为测试用例的参数。 列表数据一组测试数据。 pytest.mark.parametrize(参数1,参数2,[(数据1数据2),(数据1数据2)]) 示例: pytest.mark.parametrize(a,b,c,[(1,3,4),(10,35,45),(22.22,22.22,44.44)]) def test_add(a,b,c): res a b assert res c 实例 1 2 3 4 5 6 7 pytest.mark.parametrize(data,[1,2,3]) class Testddt(object):     def test_001(self,data):         print(data) if __name__  __main__:     pytest.main([-sv]) 运行结果 这可能是B站最详细的pytest自动化测试框架教程整整100小时全程实战
http://www.pierceye.com/news/723722/

相关文章:

  • 广州网站开发学校wordpress优秀站点
  • wordpress 当前文章所属分类seo网站推广怎么做
  • 做网站要求电脑配置wordpress页眉描述
  • 做网站感想室内设计联盟邀请码怎么弄
  • 上海高端网站制作公司互联网黄页是什么
  • 网站服务器在阿里云专有网络做网站
  • 泰坦科技网站建设js代码 嵌入网站
  • 首都之窗门户网站首页中山做百度网站的公司吗
  • 网站 关键字 标签dede关闭网站
  • 甘肃路桥建设集团公司网站网页搭建模板
  • 山西省住房和城乡建设厅官网长沙seo关键词
  • 红酒 网站 模板网页qq登录保护在哪里
  • 目前哪些企业需要做网站建设的呢官方网站建设最重要的是
  • 电影题材网页设计欣赏长春seo关键词排名
  • 深圳网站建设索q.479185700如何修改网站后台的用户名和密码
  • 长春网站推广专门做二手书网站或app
  • 北京智能网站建设制作什么叫优化
  • 免费移动网站建站wordpress加skype
  • 企业推广建站网页开发教程
  • 外贸网站定制开发网站虚拟主机过期
  • 学习网站建设要报班吗中国建设银行晋中分行网站
  • 学校网站建设经验介绍西安建设网站公司
  • 江西营销网站建设公司的企业诚信建设分析
  • 生活家装饰官方网站动画设计考研
  • 网站内部的信息安全建设怎么才能在百度上做引流呢
  • 男男做的视频网站wordpress 系统
  • 网站建设合同 附件上海网站制作费用
  • 知名的环保行业网站开发开发一个app难吗
  • 律师网站建设方案网站企业制作
  • 基础建设期刊在哪个网站可以查做网站咨询