大家好,我是谭叔。 上期,我们一起搭建了自动化测试的项目环境。 本期,开始讲原理——搞懂原理,你将更轻松的吃透自动化测试。
简单认识unittest创建一个test.py文件,引入unittest包 import unittest 长按ctrl+鼠标左键进入,可获取到unittest的一些信息:
unittest原理一说“原理“二字,很多人顿觉脑壳痛。 放心,我不会枯燥的讲原理。 贴一张图,换种方式给你讲明白。 回忆下你平时的工作场景。 你领到了一份功能测试任务,开始: 写测试用例(case:TestCase)写测试用例,得考虑一些环境问题吧。 举个例子,一些用例需要在弱网环境下执行,你得设置测试环境(setUp),然后执行测试用例(run),执行完后,为了不影响其他用例执行,你得恢复测试环境(tearDown)。 so,套用到unittest上,TestCase的作用便是如此,它有三个组件:
整理测试用例之一(suite:TestSuite)你在写测试用例的过程中,是按照模块写的吧。 举个例子,拿注册来说,你写了正常注册用例、异常注册用例,这两个用例需要集合到注册模块中,形成一个注册suite(集合); 再拿登录来说,你写了正常登录用例、异常登录用例,这两个用例需要集合到登录模块中,形成一个登录suite(集合)。 而注册suite和登录suite,又可以整理成一个更大的用户鉴权的sutie(套件)。 so,套用到unittest上,TestSuite的作用便是如此——集合用例。 整理测试用例之二(loader:TestLoader)你在写用例时,不会写一条用例就去执行一条用例,而是写完每一个模块的用例,放到用例集里面,等到执行。 TestLoader的作用便是加载 testcase(测试用例) 到 testsuite(测试用例集) 中,用以后续执行。 执行测试用例(runner)到这一步,相信聪明的你,不用再让我举例说明了吧。 TextTestRunner执行测试用例(run 方法),将测试结果保存在 TextTestResult 中。 总结下来,简单四步走:
现在想想,原理难吗? 下期,我们一起写出第一个自动化测试用例! 一如既往,做个总结01 不管是Python的unittest、pytest,还是Java的JUnit、TestNG,你按照平时做功能测试的思维去理解框架,一点也不复杂; 02 每一类框架都有它的特性,如何运用它们的特性完成你的自动化测试工作,是你在学习并掌握它们后该去思考和探索的。 |
|