python 单元测试- unittest
unittest介绍 unittest是python标准库里用于单元测试的模块。单元测试用来对最小可测试单元进行正确性检验。 单元测试好处:
unittest基础概念: test fixture TestCase?表示测试用例,一个测试用例可以包含多个测试方法,每个方法都要以test_开头.测试方法中用到的self.assertXXX的方法是读研语句,单元测试都是使用这样的断言语句判断测试是否通过:如果断言为False,会跑出AssertionError异常。不以test开头的方法不被认为是测试方法,测试的时候不会执行。 TestSuit?测试套件,它将一组测试用例作为一个测试对象 test runner 单元测试样例: 编写一个类 class?A(): ????def?__init__(self,?n): ????????self.n?=?n ????def?add(self,?number): ????????self.n?+=?number ????def?reduce(self,?number): ????????self.n?-=?number 单元测试myTest.py import?unittest class?MyTest(unittest.TestCase): ????def?setUp(self): ????#?每个测试用例执行之前做操作 ????????print?u'开始初始化' ????????self.a?=?A(10) ???????? ????def?tearDown(self): ????#?每个测试用例执行之后做操作 ????????print?u'结束' ????def?test_add(self): ????????self.a.add(10) ????????print?'test_add---->',?self.a.n ????????self.assertIsInstance(self.a.n,?int) ????????self.assertEqual(self.a.n,?20) ????def?test_reduce(self): ????????self.a.reduce(10) ????????print?'test_reduce---->',?0) if?__name__?==?'__main__': ????unittest.main() 测试结果: >>>?python2?myTest.py 开始初始化 test_add---->?20 F结束 开始初始化 test_reduce---->?0 结束 . setUp()和tearDown() setUp() 列出测试前的准备工作,常用来做一些初始化,非必需方法。 tearDown()方法列出了测试完成后的收尾工作,用来销毁测试过程中产生的影响,非必需方法。 mock?伪造函数、对象、类的返回值 用于单元测试时,伪造函数返回值。 import?tool from?unittest?import?mock response=[['小明',80]] tool.query_student=mock.Mock(return_value=response) print(tool.query_student(1)) #?['小明',80] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |