天天看点

终于有大佬把UnitTest测试框架的应用总结得这么详细01.UnitTest测试框架的基本介绍02.冒烟测试03.添加测试报告04.断言

作者:程序员阿沐

<h1 class="pgc-h-arrow-right" data-track="2">01.UnitTest测试框架的基本介绍</h1>

unittest

unittest 是 Python 单元测试框架,类似于 JUnit 框架

意义:

1. 灵活的组织 ui 自动化 / 接口测试用例

2. 让用例高效的执行

3. 断言:方便验证测试用例的结果

4. 集成 html 形式测试报告

1. 一个 class 继承 unittest.TestCase ,即是一个个具体的 TestCase (测试方法均以 test 开头,否则是不被unittest 识别,执行顺序根据( 0-9 , A-Z,a-z ))

2. 每一个用例执行的结果的标识,成功是 . ,失败是 F ,出错是 E

3. 用 setUp() 、 tearDown() 、 setUpClass() 以及 tearDownClass() 可以在用例执行前布置环境,以及在用例执行后清理环境

4. 参数中加 stream ,可以将报告输出到文件:可以用 HTMLTestRunner 输出 html 报告。

5.3.verbosity 参数可以控制执行结果的输出, 0 是简单报告、 1 是一般报告、 2 是详细报告。

6. 多个单个的测试用例集合在一起,就是 TestSuite

unittest,TestSuite: 测试套件

unittest.TestLoader :负责根据各种标准加载测试并将他们包装在 TestSuite 中

loadTestsFromNames: 返回给定的一组用例名的测试用例的套件

unittest.TextTestRunner: 运行用例

<h1 class="pgc-h-arrow-right" data-track="21">02.冒烟测试</h1>

冒烟测试

'需求:

1. 给用例打标签,只运行某些具有标签的用例 比如我们可以在测试方法名称后加上_smkoe表示这是重要的测试方法,需要在每天进行回归。

关键点是:

在测试方法名后加上标签的名字使用dir(ClassName) 的方式获取该类下所有定义的方法名使用addTest() 动态添加用例

2. 自定义用例的执行顺序,方法长的先执行,短的后执行

<h1 class="pgc-h-arrow-right" data-track="28">03.添加测试报告</h1>

集成Html测试报告

time = time.strftime('%Y-%m-%d-%H-%M', time.localtime()) # 获取当前时间

dir = 报告路径

file = open(dir, 'wb')

runner = HTMLTestRunner(stream=file,description= 描述信息 )

Service Unavailable(case)

<h1 class="pgc-h-arrow-right" data-track="35">04.断言</h1>

断言

终于有大佬把UnitTest测试框架的应用总结得这么详细01.UnitTest测试框架的基本介绍02.冒烟测试03.添加测试报告04.断言
终于有大佬把UnitTest测试框架的应用总结得这么详细01.UnitTest测试框架的基本介绍02.冒烟测试03.添加测试报告04.断言

版权声明:本文为微信公众号博主「程序员阿沐」的原创文章,转载请附上原文出处链接及本声明。

继续阅读