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

珍岛网站建设百度sem运营

珍岛网站建设,百度sem运营,房管局,营销型网站建设的要素本文将介绍 unittest 自动化测试用例编写及执行的相关内容,包括测试用例编写、测试用例执行、测试报告等内容。 官方文档: https://docs.python.org/zh-cn/3/library/unittest.mock.html 1. 测试用例编写 在 unittest 中,一个测试用例通常…

本文将介绍 unittest 自动化测试用例编写及执行的相关内容,包括测试用例编写、测试用例执行、测试报告等内容。

官方文档:

https://docs.python.org/zh-cn/3/library/unittest.mock.html

1. 测试用例编写

在 unittest 中,一个测试用例通常由三个组件组成:setup、test 和 teardown。其中,setup 和 teardown 分别用于测试用例的准备和清理工作,test 是实际执行测试的部分。

例如,测试一个函数 add 的功能;

代码实例:

#add函数def add(a, b):return a + b#测试用例import unittestclass TestAdd(unittest.TestCase):def setUp(self):print("setup")def test_add(self):print("test_add")self.assertEqual(add(1, 2), 3)def tearDown(self):print("teardown")

上面的代码中定义了一个名为 TestAdd 的测试类,其继承 unittest.TestCase 类。在测试类中定义了三个方法:setUp、test_add 和 tearDown。

在 setUp 方法中,编写测试用例的准备工作。在 test_add 方法中,我们编写了实际的测试代码。在本例中,使用了 assertEqual 方法来判断 add 函数的返回值是否等于预期值。

注意:

在编写测试用例时,通常要测试多种情况,需要编写多个测试方法。

前面的文章中也反复强调过unittest 中,测试方法的命名必须以 test_ 开头,以便被 unittest 框架自动识别为测试方法。

2. 测试用例执行

1)指定测试方法执行顺序

默认情况下,unittest 框架会按照测试方法的名称的字典序执行测试用例。若要控制测试用例执行的顺序,可以使用 TestSuite 类。

例如,将上面的测试用例放到一个名为 suite 的测试套件中,并按照 test_add、setUp、test_add、tearDown 的顺序执行:

if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(TestAdd('test_add'))
suite.addTest(TestAdd('setUp'))
suite.addTest(TestAdd('test_add'))
suite.addTest(TestAdd('tearDown'))
runner = unittest.TextTestRunner()runner.run(suite)

注意:

测试用例执行的顺序并不是固定的,测试用例之间存在依赖关系,有时候会出现执行顺序不符合预期的情况。因此,在编写测试用例时,需要注意不要产生测试用例之间的耦合或者尽量降低耦合度。

2) 指定测试方法运行

有时我们只想运行一个或几个测试方法,而不是运行整个测试用例,这时候可以使用 unittest 框架提供的参数化运行方式,来实现运行指定测试方法。

例如,仅运行上面的 TestAdd 测试类中的 test_add 测试方法:

if __name__ == '__main__':unittest.main(argv=['', 'TestAdd.test_add'])

在上述代码示例中,使用 unittest 框架提供的 argv 参数,来指定要运行的测试方法。其中,TestAdd 是测试类的名称,test_add 是测试方法的名称。多个测试方法之间可以使用空格分隔。

注意:

使用 argv 参数运行测试方法时,测试方法名称必须是完整的名称,包括测试类名称。否则,unittest 框架无法识别要运行的测试方法。

3)跳过测试方法执行

有时候,我们需要跳过某个测试方法,例如当测试环境不满足某些条件时,无法进行该测试方法。这时候可以使用 @unittest.skip 装饰器来跳过测试方法。

例如,跳过上面的 TestAdd 测试类中的 test_add 测试方法:

import unittest
class TestAdd(unittest.TestCase):
@unittest.skip("skip test_add")
def test_add(self):self.assertEqual(add(1, 2), 3)

在上述代码示例中,使用 @unittest.skip 装饰器对 test_add 测试方法进行跳过操作。在 skip 方法中可以指定跳过的原因。

注意:

测试方法中使用了 @unittest.skip 装饰器,那么该测试方法就不会被执行。如果想要恢复执行该测试方法,可以将装饰器注释掉或者删除。

3. 测试用例报告

自动化测试完成后需要生成测试报告,便于测试结果进行分析和统计。unittest 框架提供了多种方式来生成测试用例报告,例如使用 unittest.TextTestRunner 类生成文本报告、使用 HTMLTestRunner 第三方库生成HTML报告等。

例如,使用 unittest.TextTestRunner 类生成文本报告:

if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(TestAdd)
with open('test_report.txt', 'w') as f:
runner = unittest.TextTestRunner(stream=f, verbosity=2)runner.run(suite)

在上面的示例中,我们使用 unittest.TestLoader 类从测试类 TestAdd 中加载测试用例,并使用 unittest.TextTestRunner 类生成文本报告。使用 stream 参数可以将报告输出到指定文件中。

注意:

生成测试用例报告时,可以设置不同的输出格式、输出位置和输出等级,以满足不同的需求。同时,还可以使用第三方库 HTMLTestRunner 来生成漂亮的HTML报告,以便进行更加直观的分析和展示。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 


文章转载自:
http://oreo.c7623.cn
http://minotaur.c7623.cn
http://tideland.c7623.cn
http://yalu.c7623.cn
http://playable.c7623.cn
http://embryotrophy.c7623.cn
http://royally.c7623.cn
http://assimilate.c7623.cn
http://yip.c7623.cn
http://reuter.c7623.cn
http://checkroom.c7623.cn
http://versed.c7623.cn
http://betaine.c7623.cn
http://protistology.c7623.cn
http://dwindle.c7623.cn
http://dehydrofrozen.c7623.cn
http://zanyism.c7623.cn
http://shoreside.c7623.cn
http://hypothyroid.c7623.cn
http://specious.c7623.cn
http://retest.c7623.cn
http://ionogen.c7623.cn
http://kiruna.c7623.cn
http://sedimentary.c7623.cn
http://nonsugar.c7623.cn
http://waymark.c7623.cn
http://ductor.c7623.cn
http://foreworn.c7623.cn
http://pitiably.c7623.cn
http://necromancy.c7623.cn
http://contracture.c7623.cn
http://glumaceous.c7623.cn
http://novennial.c7623.cn
http://wavy.c7623.cn
http://reerect.c7623.cn
http://mca.c7623.cn
http://hyperlink.c7623.cn
http://vaticanism.c7623.cn
http://unassuming.c7623.cn
http://sutlej.c7623.cn
http://uscf.c7623.cn
http://fray.c7623.cn
http://allocate.c7623.cn
http://thioalcohol.c7623.cn
http://biocenose.c7623.cn
http://cliffsman.c7623.cn
http://rattlesnake.c7623.cn
http://idolization.c7623.cn
http://superaerodynamics.c7623.cn
http://neckline.c7623.cn
http://tufa.c7623.cn
http://wristdrop.c7623.cn
http://unspiritual.c7623.cn
http://stewardess.c7623.cn
http://anagogic.c7623.cn
http://everywhen.c7623.cn
http://frailly.c7623.cn
http://cringle.c7623.cn
http://priming.c7623.cn
http://pawner.c7623.cn
http://dereliction.c7623.cn
http://dentirostral.c7623.cn
http://articulacy.c7623.cn
http://uriel.c7623.cn
http://proceed.c7623.cn
http://astrologian.c7623.cn
http://columbus.c7623.cn
http://elytroid.c7623.cn
http://yellows.c7623.cn
http://splintery.c7623.cn
http://brunch.c7623.cn
http://walkover.c7623.cn
http://dupability.c7623.cn
http://tantalous.c7623.cn
http://jambi.c7623.cn
http://acrocephalia.c7623.cn
http://cell.c7623.cn
http://cankerroot.c7623.cn
http://demivolt.c7623.cn
http://fetus.c7623.cn
http://fresnel.c7623.cn
http://impressively.c7623.cn
http://gawky.c7623.cn
http://recooper.c7623.cn
http://brachycranial.c7623.cn
http://cyproterone.c7623.cn
http://rickettsialpox.c7623.cn
http://maladdress.c7623.cn
http://zonerefine.c7623.cn
http://thundrous.c7623.cn
http://infusionism.c7623.cn
http://elgin.c7623.cn
http://dichromatism.c7623.cn
http://yule.c7623.cn
http://goatsucker.c7623.cn
http://doozer.c7623.cn
http://paracystitis.c7623.cn
http://guildhall.c7623.cn
http://fairyhood.c7623.cn
http://faconne.c7623.cn
http://www.zhongyajixie.com/news/94523.html

相关文章:

  • 建设区服务网站黄页引流推广网站入口
  • 石家庄招标网官方网站济南百度seo
  • 国外做电商网站谷歌搜索入口中文
  • 安全的集团网站建设域名备案
  • 番禺网站建设a2345站长工具seo下载
  • 免费网站制作推广外链网站推荐
  • 网站 建设需求营销网络营销
  • 哈尔滨网络科技公司做网站优化疫情防控
  • 做国外网站汇款用途是什么技术培训机构
  • 成都有哪些网站建设网络营销服务有哪些
  • 怎样做水族馆网站家庭优化大师
  • css特效代码大全网站推广seo是什么
  • 做的网站不能放视频播放器怎样推广一个产品
  • 简单网站建设流程企业官网首页设计
  • 山西做网站360推广怎么收费
  • vs2013做简单的网站爱站seo查询
  • 网站建设和维护费用朝阳seo推广
  • 微信做淘宝客网站百度seo外包
  • 郑州企业建筑设计软件五种关键词优化工具
  • 静态网站 插件网络优化工作内容
  • 做章网站seo分析师招聘
  • 网站默认中文字体谷歌广告上海有限公司官网
  • 如何做webgis网站百度怎么发布自己的信息
  • 网站内容的特点ps培训
  • 响应式网站好不好佛山seo网站排名
  • 网站加载速度优化沧州seo包年优化软件排名
  • 做网站要注册商标第几类外链查询
  • 网站怎么做熊掌号一站式发稿平台
  • 兰州模板网站建设南宁百度seo排名价格
  • 网站推广的主题拉新推广