本文主要是介绍终于有大佬把UnitTest测试框架的应用总结得这么详细!,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
01.UnitTest测试框架的基本介绍
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
unittest,TestSuite:
测试套件
unittest.TestLoader
:负责根据各种标准加载测试并将他们包装在
TestSuite
中
loadTestsFromNames:
返回给定的一组用例名的测试用例的套件
unittest.TextTestRunner:
运行用例
02.冒烟测试
冒烟测试
'需求:
1.
给用例打标签,只运行某些具有标签的用例 比如我们可以在测试方法名称后加上_smkoe表示这是重要的测试方法,需要在每天进行回归。
关键点是:
在测试方法名后加上标签的名字使用dir(ClassName)
的方式获取该类下所有定义的方法名使用addTest()
动态添加用例
2.
自定义用例的执行顺序,方法长的先执行,短的后执行
03.添加测试报告
集成Html测试报告
time = time.strftime('%Y-%m-%d-%H-%M', time.localtime()) #
获取当前时间
dir =
报告路径
file = open(dir, 'wb')
runner = HTMLTestRunner(stream=file,description=
描述信息
)
runner.run(case)
04.断言
断言
方法 | 检查 |
assertEqual(a, b)
|
a ==b
|
assertNotEqual(a, b)
|
a !=b
|
assertTrue(x)
|
bool(x) is True
|
assertFalse(x)
|
Bool(x) is False
|
assertIs(a, b)
|
a is b
|
assertIsNot(a, b)
|
a is not b
|
assertIsNone(x)
|
x is None
|
assertIsNotNone(x)
|
x is not None
|
assertIn(a, b)
|
a in b
|
assertNotIn(a, b)
|
a not in b
|
assertIsInstance(a, b)
|
isinstance(a,b)
|
assertNotIsInstance(a, b)
|
not isinstance(a,b)
|
微信搜一搜【程序员阿沐】关注这个文绉绉的程序员,关注后主页点击【领取资料】有我准备的一线大厂面试资料和简历模板,希望大家都能找到心仪的工作,学习是一条时而郁郁寡欢,时而开怀大笑的路,加油。如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。如果有幸我们江湖再见!
这篇关于终于有大佬把UnitTest测试框架的应用总结得这么详细!的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!