范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

自动化冒烟测试unittest,pytest哪家强?

  前言:之前有一段时间一直用 Python Uittest做自动化测试,觉得Uittest组织冒烟用例比较繁琐,后来康哥提示我使用pytest.mark来组织冒烟用例
  本文讲述以下几个内容:
  1、Unittest 如何组织冒烟用例
  2、Pytest 组织冒烟测试
  3、Pytest 执行unittest冒烟用例
  环境准备:
  Python 3.6.4
  Pytest 5.0.1
  项目目录:
  smoke_testing_demo
  test_case
  __init__.py
  test_case_with_unittest.py
  test_case_with_pytest.py
  run_unittest_smoke_testing.py  一、Unittest如何组织冒烟用例当 import unittest 时 ,会自动导入TestLoader类 TestLoader这个类下,封装了 5 种组织用例的方法 本文主要讲解 loadTestsFromNames
  loadTestsFromNames 方法简介
  $ loader.py 该文件在python3. 7  已不存在,建议使用python3. 64   查看使用方法
  class    TestLoader  ( object  ):
  """
  该类负责根据各种标准加载测试并将它们包装在TestSuite中
  """
  def    loadTestsFromNames  (self, names, module =  None  ):
  """
  返回给定的一组用例名的测试用例的套件
  """   loadTestsFromNames 组织冒烟用例
  测试用例
  $ test_case_with_unittest.py
  #!/usr/bin/env python3
  # encoding:utf-8
  import   unittest
  class    TestUittestCase  (unittest.TestCase):
  def    test_case_with_unittest_1  (self):
  """冒烟测试用例"""
  print  ( "I am Smoke Testing "  )
  def    test_case_with_unittest_2  (self):
  pass
  if   __name__  ==    "__main__"  :
  unittest.main(verbosity =  2  )
  $ test_case_with_unittest2.py
  #!/usr/bin/env python3
  # encoding:utf-8
  import   unittest
  class    TestUittestCase2  (unittest.TestCase):
  def    test_case_with_unittest_3  (self):
  """冒烟测试用例"""
  print  ( "I am Smoke Testing "  )
  def    test_case_with_unittest_4  (self):
  pass
  if   __name__  ==    "__main__"  :
  unittest.main(verbosity =  2  )
  冒烟测试用例集
  $ run_unittest_smoke_testing.py
  #!/usr/bin/env python3
  # encoding:utf-8
  import   unittest
  cases  =   [
  "test_case.test_case_with_unittest2.TestUittestCase2.test_case_with_unittest_3"  ,
  "test_case.test_case_with_unittest.TestUittestCase.test_case_with_unittest_1"
  ]
  test_suit  =   unittest.TestLoader().loadTestsFromNames(cases)
  runner  =   unittest.TextTestRunner(verbosity =  2  )
  runner.run(test_suit)
  运行结果
  test_case_with_unittest_3(test_case.test_case_with_unittest2.TestUittestCase2)
  冒烟测试 ... ok
  test_case_with_unittest_1 (test_case.test_case_with_unittest.TestUittestCase)
  冒烟测试 ... ok
  ----------------------------------------------------------------------
  Ran 2 tests  in   0.000s  小结:通过loadTestsFromNames 可以从不同的模块组织特定的用例集 使用loadTestsFromNames这个方法,需要传入一个数组 数组里面里面的元素必须是字符串 数组元素传入格式:"moudleName.testCaseClassName.testCaseName" 执行用例是根据数组元素的的顺序执行 二、Pytest 组织冒烟测试pytest 提供了测试用例标记机制 一个测试用例允许被多个@pytest.mark进行标记 同一个@pytest.mark可以标记多个测试用例 pytest.mark常用于冒烟测试用例组织 pytest.mark 组织冒烟用例
  测试用例
  $ run_unittest_smoke_testing.py
  #!/usr/bin/env python3
  # encoding:utf-8
  import   pytest
  @pytest.mark.test_env
  def    test_case_1  ():
  pass
  @pytest.mark.test_env
  @pytest.mark.smoke
  def    test_case_2  ():
  """ 冒烟用例"""
  pass
  cd 进入 /test_case目录,
  使用命令行运行 test_case_with_pytest.py
  pytest test_case_with_pytest.py -v -m smoke
  运行结果
  collected 2 items
  test_case_with_pytest.py::test_case_2 PASSED
  ============================== 1 tests deselected ==============================
  ==================== 1 passed, 1 deselected in 0.01 seconds ====================
  运行被标记test_env的用例
  pytest test_case_with_pytest.py -v -m test_env
  运行结果
  collected 2 items
  test_case_with_pytest.py::test_case_1 PASSED
  test_case_with_pytest.py::test_case_2 PASSED
  =========================== 2 passed in 0.01 seconds ===========================   三、Pytest 执行 Unittest冒烟用例
  Pytest测试框架是兼容Python自带的Unittest
  修改test_case_with_unittest2.py
  $ test_case_with_unittest2.py
  #!/usr/bin/env python3
  # encoding:utf-8
  import   unittest
  import   pytest
  class    TestUittestCase2  (unittest.TestCase):
  @pytest.mark.smoke
  def    test_case_with_unittest_3  (self):
  """冒烟测试用例"""
  print  ( "I am Smoke Testing "  )
  def    test_case_with_unittest_4  (self):
  pass
  if   __name__  ==    "__main__"  :
  unittest.main(verbosity =  2  )
  命令行运行 test_case_with_unittest2.py
  pytest test_case_with_unittest2.py -v -m smoke
  运行结果
  collected 2 items / 1 deselected / 1 selected
  test_case_with_unittest2.py::TestUittestCase2::test_case_with_unittest_3 PASSED [100%]
  ============== 1 passed, 1 deselected, 1 warnings in 0.01 seconds ==============
  总结:
  1、Uittest组织冒烟用例,需通过loadTestsFromNames在不同的测试模块里指定测试用例,组装成test suit(测试套件)后,给TextTestRunner运行
  2、Pytest组织冒烟用例,只需给测试用例加上@pytest.mark.key ,使用命令行pytest -m key test_case.py 即可 自动化冒烟测试 Unittest , Pytest 哪家强?
  笔者个人见解: 使用Uittest组织冒烟测试,关注点有至少有两个
  1、当编写新功能的冒烟测试,需要去维护冒烟测试用例集
  2、合并代码时,如果有两个人同时修改了这个冒烟用例集,还要解决冲突,防止遗漏冒烟用例 使用Pytest组织冒烟测试,关注点在于用例的本身
  当编写新功能的冒烟测试,我只需在给用例加一个编写用例人员约定好的@pytest.mark,例如@pytest.mark.smoke

骄阳火辣,你忍一下中伏到,大暑来又到了一年中最热热热热热的时候高温天气蒸煮模式已开启各位小伙伴可要注意防暑养生哦盛夏有美味的西瓜有WIFI和雪糕,啤酒和奥运还有怪物猎人物语2破灭之翼永劫无间等游戏的没用过消息队列?一文带你体验RabbitMQ收发消息楔子先给大家说声抱歉,最近一周都没有发文,有一些比较要紧重要的事需要处理。今天正好得空,本来说准备写SpringIOC相关的东西,但是发现想要梳理一遍还是需要很多时间,所以我打算慢人生中的第一个Java程序HelloWorld任务1。编写HelloWorld程序2。尽可能的理解程序3。编译源文件4。运行程序复制代码我们已经做好了足够的准备,现在可以编写我们人生中的第一个Java程序了。有米有一种跃跃欲试厉害了!国产量子计算机发布,量子计算离寻常百姓有多远厉害了,我的国。今天源自中国科技大学的本源量子发布了国内首个超导量子计算云平台,取名叫做悟源。其搭载了6个量子比特的超导量子处理器。现已实现工程化的量子计算机原型,可提供真实的量子AMD不稳定的认知到底怪谁?英特尔究竟有多厉害?提到英特尔这三个字,各位首先想到的是什么?一家独大连续好几年戏弄消费者的挤牙膏,永远的14nm加加加,还是一有风吹草动,就涨价的光荣传统,事实上,Intel是全球最大的个人计算机零反败为胜!美国恳求我国大量出口,中国如何从卡脖子到世界领先?上天有神舟,下海有蛟龙,入地有盾构。这句话形容的正是我国那些大国重器。想当年,中国一穷二白,啥也没有,但谁又能到,多年过去了,中国不仅有了,而且还非常优秀。对比当年和现在,谁不称赞中国攻克厚度0。015mm钢材,美国想买却只需排队,为何没被卡脖子钢铁是工业筋骨,行业之变印证着国家经济发展的嬗变。钢铁从按吨卖到论克卖背后究竟经历了什么?中国又是如何攻克厚度仅有0。015mm的钢材的?当美国大量进口时,为何中国从未想过要卡脖子轮到美国被卡脖子!中国又一技术领跑全球,美国苦追15年仍未超越美国大大低估了中国想要创新技术的决心!美国为赢得21世纪而扼杀中国技术进步的企图正在失败!随着美国越来越冒险的举动,越来越多国际媒体开始看清实质,并开始从实质中看到结果。独霸全球的该美国体会卡脖子滋味了!中国两项技术全球领先,中企绝不出口华为作为头部高科技中企,近些年的发展有目共睹,不仅在5G通信领域一骑绝尘,就连智能手机业务也一度达到了比肩苹果三星的高度。然而,这却让自诩为科技霸主的老美深感不安。为了绞杀华为,美苹果手机为何很少卡脖子近期,一条有关iPhone13的消息登上热搜,据说这款将于今年8月底9月初量产的新一代IpHone将搭载屏下指纹识别功能。2013年,苹果曾收购一家指紋识别芯片公司AuthenTe双十一来了,为了让中老年人也能抢到优惠,淘宝真是操碎了心朋友,你的双11定金交了吗?今年规模最大的电商促销狂欢活动双11已经正式开启了。在昨天就是10月21日启动了预售,有关数据显示李佳琦直播间的观看数约为1。6亿,薇娅直播间约为1。4
关于网络流量的一些看法和建议闲来无事闲逛在大街上,看到有些人,为了某些楼盘开业引流,居然堵了一条大马路,强行将路人引流到楼盘开业的路口,让我若有所想,想想今天的网络空间,想想今天的流量明星,想想网络上近些年来杭州拾荒网红意外身亡,他的遗物比浙大身份还要让人惊讶!来源秉灯夜谈曾经一篇题为杭州图书馆向流浪汉开放,拾荒者借阅前自觉洗手的新闻,曾经吸引了许多人的注意。内容大致是说,杭州图书馆十年来始终坚持,向流浪者和拾荒者开放,允许其入馆读书,不TCL2021春季新品发布,看冰箱和洗衣机能有多健康智能经历了2020不平凡的一年,2021怀着希望和梦想全新启航的我们,在不知不觉中,也历经了一次生活方式的革新,我们渐渐习惯了云办公线上上课受疫情影响,我们相隔的距离似乎更远了,但也正贤达KN95防护口罩,健康防护新升级贤达KN95防护口罩,健康防护新升级KN95KN95口罩是我们国家对于具有颗粒物过滤效率的一类口罩,N表示不耐油(notresistanttooil)。95表示暴露在规定数量的专用大健康理念流行促进骨传导耳机市场发展对于普通人而言,慢性病在生活中防不胜防。心血管是全人类十大死亡原因中最大的单一杀手,而肩颈出现问题,也容易让人长期处于亚健康状态之中。不知道你有没有同感,当你在进行一件不是很容易就美国油价创7年新高丰田首席科学家称不该每人都开电动车供应不足美国油价创7年新高新浪美股报道,目前全美平均汽油价格为每加仑3。36美元,创下自2014年以来的最高纪录。洛杉矶县的油价平均为4。5美元,是自2012年10月以来的最高水平HCIE万人计划,小尝试大跨越华为中国生态大会2021期间,华为举办主题为燃梦家园共聚荣光第四届HCIE之夜,来自全国超过160余名HCIE专家齐聚一堂,共享荣光。华为中国政企业务副总裁李同广代表华为中国政企业HCIPUnifiedCommunicationV2。9将停止服务尊敬的客户华为公司郑重地通知您华为认证HCIPUnifiedCommunicationV2。9将于2021年5月31日起停止接收考试预约及所有服务交付。HCIPUnifiedCom注意!HCIAUnifiedCommunicationV2。8将停止服务尊敬的客户华为公司郑重地通知您华为认证HCIAUnifiedCommunicationV2。8(中文版)将于2021年5月31日起停止接收考试预约及所有服务交付。HCIAUnifi2021中国高校计算机大赛网络技术挑战赛线上宣讲会顺利召开2021年3月26日1900,第五届中国高校计算机大赛网络技术挑战赛线上宣讲会成功举办,来自全国七大赛区的1200余名师生参加。会议伊始,赛事组委会主任施晓秋教授作了主题为三促引领关于启动6月份1X证书考试报名的通知各相关院校1X证书制度是国家职业教育改革方案实施的重要举措,为全面落实国家职业教育改革实施方案和教育部等四部门印发的关于在院校实施学历证书若干职业技能等级证书制度试点方案(简称1X