自动化测试框架之UnitTest

做一件事情之前,最重要是整个项目有一个清晰的框架内容。然后分步分类去实现对应的内容。
参考网址:https://www.cnblogs.com/wendyw/p/11678920.html
https://docs.python.org/zh-cn/3/library/unittest.html

1.什么是自动化测试框架

  • 自动化测试框架,首先需要了解什么是框架,查了很多资料,最终整理成自己的理解。
  • 框架:一个基础架构,好比你修房子,首先需要有蓝图,根据这个蓝图去先把你的架子搭建起来,这就是框架。
  • 自动化测试框架:最根本的是要构造一个良好的工作空间,能够容纳各种类型测试工具的执行,以使这些工具能够相互兼容,共享测试数据。
  • 自动化测试平台架构图
    自动化测试平台架构

    参考网址,什么是框架:https://developer.aliyun.com/article/135409

2.自动化测试框架

自动化测试框架:https://segmentfault.com/a/1190000022693251

自动化测试的使用场景
1.需求文档、不会频繁变更的场景。
2.研发和维护周期长,需要频繁执行回归测试的场景。
3.需要在多种平台上重复运行相同测试的场景。

3.什么是unittest

单元测试:软件中最小可测试单元在程序其他部分相隔离情况下进行检查和验证的工作。对于测试,就是执行测试用例,输入测试数据->输出测试结果。
unittest:一个单元测试框架。python自带的单元测试框架,主要适用于单元测试,可以对多个测试用例进行管理和封装。它本身提供类和方法来处理各种测试工作。
参考网址,单元测试框架-unittest:https://www.cnblogs.com/miki-peng/p/12501341.html

4.unittest有什么

unittest主要有4个核心概念。
unittest 测试框架实例详解:https://www.cnblogs.com/miki-peng/p/12501341.html

4.1 unittest四个核心概念

UniteTest框架-四个核心概念:测试用例(Test Case)、测试固件(Test Fixture)、测试套件(Test Suite)、执行器(Test Runner)。

1.test-case-测试用例
test-case编写测试用例步骤
1.导入unittest模块
2.创建一个测试类,并继承unittest.TestCase()
3.定义测试方法,方法名必须以test_开头
4.调用unittest.main()方法来运行测试用例,该方法会默认搜索该模块下所有以test开头的测试用例方法,自动执行

2.testfixture-测试夹具
1.测试方法:setup()和teardown()
2.测试类:setUpClass()和setDownClass()

3.test suiter-测试套件
批量执行测试用例
1.unittest.TestSuite()
addTest(类名('方法名')):添加单个测试用例方法
addTests([类名('方法名1'),类名('方法名2'),….]): 添加多个测试用例方法,方法名存在一个列表
2.unittest.TestLoader()
loadTestsFromTestCase(测试类名):添加一个测试类
loadTestsFromModule(模块名):添加一个模块
discover(测试用例的所在目录):指定目录去加载,会自动寻找这个目录下所有符合命名规则的测试用例

4.test runner-执行用例
执行测试用例,并且可以生成相应的测试报告(text文本或html格式)。

unittest四个核心概念

4.2 testcase-测试用例注意事项

testcase-测试用例注意事项:

  1. 测试用例必须在类中
  2. 测试用例所在的类,继承TestCase
  3. 测试用例的执行顺序,按照AsicII码顺序(0-9,A-Z,a-z)
  4. 测试用例的方法必须以test开头
  5. 利用父类TestCase的assertXXX来进行断言
  6. 用@unittest.skip(reason)装饰来跳过测试用例

4.3 testfixture-测试固件注意事项

测试方法和测试类的使用:setup()和teardown() 、setupclass()和teardownclass()。
testfixture-测试固件注意事项:

  1. testfixture,也叫测试夹具,主要工作用于:初始化和善后
  2. 分两种,一种是类级别的,一种是方法级别的
  3. 类级别的,所有测试用例执行之前与之后运行一次
  4. 方法级别的,每个测试用例执行之前与之后都执行一次

4.4 testsuite-测试套件注意事项

testsuite套件-用来组织测试用例的。可以通过3种方法进行用例组织。

  • 方法一
    suite=unittest.TestSuite()
    suite.addTest(类名("方法名1"))
    suite.addTest(类名("方法名2"))
    suite.addTest(类名("方法名3"))
  • 方法二
    suite=unittest.TestSuite()
    list=[类名1("方法名1"),类名1("方法名2"),类名2("方法名2"),类名3("方法名3")]
    suite.addTests(list)
  • 方法三
    unittest.defaultTestLoader.discover('用例所在的模块',pattern="通配.py")
    discover(start_dir,pattern='test*.py',top_level_dir=None)详解
    1. start_dir:待执行用例目录
    2. parttern:匹配脚本名称的规则,test*.py意思是匹配test开头的所有脚本
    3. top_level_dir:顶层目录的名称,默认是None

4.5 testrunner-测试运行器注意事项

testrunner运行器是用来执行测试用例的。
runner=unittest.TextTestRunner()#实例化TestRunner类
runner.run(suite) #执行测试用例

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容