【4-1】基于Python-unittest运用:unittest介绍及实例
该第四章节是最重要的基础:unittest
1. 什么是unittest?
unittest是python的标准测试库,相比于其他测试框架是python目前使用最广的单元测试框架。
unittest有4个比较重要的概念是TestCase、TestSuite、TestLoader、 TestRunner、TestReport
实例:unittest模拟测试
import unittest class TestCase(unittest.TestCase): def setUp(self): """每个case执行开始都执行一次""" print("第{0}用例开始".format(self.i)) def tearDown(self): """每个case执行结束都执行一次""" print("第{0}用例结束".format(self.i)) # 那如何让执行此类才执行一次呢? @classmethod def setUpClass(cls): print("--类开始--") @classmethod def tearDownClass(cls): print("--类结束--") # 以下为用例 def test_case01(self): print("111") def test_case02(self): print("222") def test_case03(self): print("333") if __name__ == "__main__": unittest.main()
输出结果为:
--类开始-- 用例开始 111 用例结束 用例开始 222 用例结束 用例开始 333 用例结束 --类结束--
classmethod修饰符:
classmethod修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等
实例: classmethod 的使用方法
#coding: UTF-8 class A(object): bar = 1 def func1(self): print('foo') @classmethod def func2(cls): print('func2') print(cls.bar) cls().func1() # 调用 foo 方法 A.func2() # 不需要实例化
输出结果为:
func2 1 foo
TestLoader是用来加载TestCase到TestSuite中的,其中有几个loadTestsFrom__()方法,就是从各个地方寻找TestCase,创建它们的实例,然后add到TestSuite中,再返回一个TestSuite实例
作者:慧琴如翌
链接:https://www.jianshu.com/p/848c23608fa7
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

浙公网安备 33010602011771号