python单元测试unittest

由示例开始 import unittest class TestStringMethods(unittest.TestCase): def test_upper(self): self.assertEqual('foo'.upper(),'FOO') def test_isupper(self): self.assertEqualTure('FOO'.isupper()) self.assertFalse('Foo'.isupper()) def test_split(self): s = 'hello world' self.assertEqual(s.split(),['hello','world']) with self.assertEqualRaise(TypeError): s.slipt(2) if __name__ == '__main__': #unittest.main:为测试提供了入口。 unittest.main() #运行结果: ... ---------------------------------------------------------------------- Ran 3 tests in 0.064s OK 整体结构概览

unittest原名为PyUnit,是由java的JUnit衍生而来。对于单元测试,需要设置预先条件,对比预期结果和实际结果。

整体结构:
unittest库提供了test cases, test suites, test fixtures,test runner:

test case :通过继承TestCase类,我们可以创建一个test,或者一组tests,包括测试前准备环境的搭建(setUp),执行测试代码(run),以及测试后环境的还原(tearDown)。

test suites : 测试套件,多个测试用例集合在一起,TestSuite也可以嵌套TestSuite。

test fixtures : setup + test case + teardown结构

TestLoader:用来加载TestCase到TestSuite中,其中的方法从各个地方寻找TestCase,创建它们的实例,然后add到TestSuite中,返回一个TestSuite实例。

test runner:执行测试用例,其中的run()会执行TestSuite/TestCase。

TextTestResult:测试的结果会保存到TextTestResult实例中,包括运行用例数,成功数,失败数等。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsxyf.html