unittest 学习
unittest 框架是python的测试框架。脱胎于java的测试框架
-
test case
一个test case的实例,就是一个测试用例。包括了完整的测试流程。setUp() run() tearDown() 分别代表的含义是: 环境搭建,执行测试代码,测试后的环境还原
-
test Loader
是用来加载TestCase到TestSuite ,就是从各地寻找test case 创建他们的实例
-
Text Test Runner
Text test runner 是用来执行测试用例的,包括运行了多少测试用例,成功了多少,失败了多少的信息
-
test fixture
fixture 可被认为是测试环境
所以unittest的整个流程首先写好,testCase,然后由loader加载case到suite里面,最后再来执行
-
官网测试的demo
import unittest class TestStringMethods(unittest.TestCase): def test_upper(self): self.assertEqual('foo'.upper(), 'FOO') def test_isupper(self): self.assertTrue('FOO'.isupper()) self.assertFalse('Foo'.isupper()) def test_split(self): s = 'hello world' self.assertEqual(s.split(), ['hello', 'world']) # check that s.split fails when the separator is not a string with self.assertRaises(TypeError): s.split(2) if __name__ == '__main__': unittest.main()
执行main 函数,收集函数名含有'test*'的通配符,但是函数执行顺序默认根据acsll码来执行和加载测试用例。可以自己构造测试集,来进行测试的顺序
-
TestCase 最常用的断言方法
断言方法 检查条件 assertEqaual(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 assertNot(a, b) a is not b assertNone(x) x is None 等方法,来进行对对象的断言测试,其他方法可以查看unittestg文档-testcase
网友评论