测试开发技术网站
博客
设计
设计
开发
Python
测试
unittest
运维
Linux基础应用
CI/CD
CI/CD
数据库
数据库
云计算
云计算
云原生
云原生
爬虫
爬虫
数据分析
数据分析
人工智能
人工智能
登录
注册
UnitTest自动化测试框架基本用例组织形式
收藏本文
作者:redrose2100 类别: 日期:2022-05-11 06:14:42 阅读:985 次 消耗积分:0 分
[【原文链接】UnitTest自动化测试框架基本用例组织形式](http://devops-dev.com/article/151) [TOC] # 1 UnitTest自动化测试框架简介 Unittest自动化测试框架是python语言自带的单元测试框架,UnitTest最初叫做PyUnit,早起一般应用于单元测试中,随着python的不断发展,UnitTest住建成长为一种简单易用的轻量级的自动化测试框架,后续随着技术的发展,UnitTest又衍生出一个更高级的自动化测试框架Pytest,因此Pytest自动化测试框架可以很容易的兼容UnitTest,在python自动化测试领域,使用最广泛的三种自动化测试框架为Pytest、UnitTest,RobotFramework,UnitTest是python自带的,无需另外单独安装 # 2 UnitTest四大组件 * text fixture:setUp(), tearDown(), setUP是前置条件,tearDown是清理和释放资源区 * test case:测试用例,通过继承unittest.TestCase来实现用例的继承,如下所示: ```python import unittest class TestDemo01(unittest.TestCase): pass ``` * test suite:测试套,或称为测试用例集 * test runner:执行器,一般通过runner来调用suite去执行测试 # 3 最简单的unittest用例组织形式 如下,测试类中只有一个测试函数,这是最简单的额形式,使用unittest.main()调用执行 ```python import unittest class TestDemo01(unittest.TestCase): def test_01(self): print("in test_01...") if __name__=="__main__": unittest.main() ``` 执行结果如下: ```python Ran 1 test in 0.002s OK in test_01... ``` # 4 带有setUp和tearDown用例组织形式 setUp中的代码是在每个用例执行之前都会执行,tearDown中的代码是在每个用例执行结束后都会去执行,从而可以在setUp中编写初始化之类的操作,而在tearDown中编写清理环境或者释放资源的操作代码,如下: ```python import unittest class TestDemo01(unittest.TestCase): def setUp(self) -> None: print("in setUp...") def tearDown(self) -> None: print("in testDown...") def test_01(self): print("in test_01...") def test_02(self): print("in test_02...") if __name__=="__main__": unittest.main() ``` 执行结果如下: ```python in setUp... in test_01... in testDown... in setUp... in test_02... in testDown... Ran 2 tests in 0.002s OK ``` # 5 带有setUpClass和tearDownClass的用例组织形式 setUpClass是在类的所有用例执行之前执行,只执行一次,tearDownClass中的代码是在类的所有用例执行结束之后,再执行,也是执行一次,代码如下: ```python import unittest class TestDemo01(unittest.TestCase): @classmethod def setUpClass(cls) -> None: print("in setUpClass...") @classmethod def tearDownClass(cls) -> None: print("in tearDownClass...") def setUp(self) -> None: print("in setUp...") def tearDown(self) -> None: print("in testDown...") def test_01(self): print("in test_01...") def test_02(self): print("in test_02...") if __name__=="__main__": unittest.main() ``` 执行结果如下: ```python in setUpClass... in setUp... in test_01... in testDown... in setUp... in test_02... in testDown... in tearDownClass... Ran 2 tests in 0.003s OK ```
始终坚持开源开放共享精神,同时感谢您的充电鼓励和支持!
版权所有,转载本站文章请注明出处:redrose2100, http://blog.redrose2100.com/article/151
上一篇:
Python如何打包即setuptools模块的用法
下一篇:
UnitTest自动化测试框架中断言的用法
搜索
个人成就
出版书籍
《Pytest企业级应用实战》
测试开发技术全栈公众号
测试开发技术全栈公众号
DevOps技术交流微信群
加微信邀请进群
常用网站链接
开源软件洞察
云原生技术栈全景图
Python语言官方文档
Golang官方文档
Docker官方文档
Jenkins中文用户手册
Scrapy官方文档
VUE官方文档
Harbor官方文档
openQA官方文档
云原生开源社区
开源中国
Kubernetes中文文档
Markdown语法官方教程
Kubernetes中文社区
Kubersphere官方文档
BootStrap中文网站
JavaScript中文网
NumPy官方文档
Pandas官方文档
GitLink确实开源网站
数据库排名网站
编程语言排名网站
SEO综合查询网站
数学加减法练习自动生成网站
Kickstart Generator
文章分类
最新文章
最多阅读
特别推荐
×
Close
登录
注册
找回密码
登录邮箱:
登录密码:
图片验证码:
注册邮箱:
注册密码:
邮箱验证码:
发送邮件
注册邮箱:
新的密码:
邮箱验证码:
发送邮件