28 Python 单元测试和unittest模块

来源:互联网 发布:淘宝app 私人定制 编辑:程序博客网 时间:2024/06/06 02:53

Python 单元测试和unittest模块

fun.py

#!/usr/bin/python# -*- coding: utf-8 -*-def fun(x):    return x/2def fun1(x):    return x/2,xdef fun2(x):    raise Exception

testfun.py,测试fun.py中的函数.

#!/usr/bin/python# -*- coding: utf-8 -*-'''https://docs.python.org/3/library/unittest.html'''import unittestfrom fun import fun,fun1,fun2class Test_fun(unittest.TestCase):    times = 0    def setUp(self):        '''每个测试案例执行前都会执行此方法'''        Test_fun.times += 1        print 'setUp',Test_fun.times    def tearDown(self):        '''每个测试案例执行完成后都会执行此方法'''        Test_fun.times += 1        print 'tearDown',Test_fun.times    def test1(self):        '''以test开头的方法才会进行测试'''        #如果两个值不相等,测试失败        self.assertEqual(4,fun(8)) #self.assertEqual(x,y,[,msg]),msg为测试失败时出现的信息,以下每个函数都有        self.failUnlessEqual(2,2)        #如果表达式结果为False,测试失败        self.assert_(1 < 2,'false')         self.failUnless(2 == 2,'false')        #两个值相等,测试失败        self.assertNotEqual(2,1)        self.failIfEqual(2,1)        #如果可调用对象callable未引发指定异常,说明测试失败。剩余参数将以参数形式传递给callable        self.assertRaises(Exception,fun2,8)        #如果表达为True,测试失败        self.failIf(1==2)    def test2(self):        self.assertEqual(3,fun(6))    def test3(self):        self.assertEqual((4,8),fun1(8))    def est4(self):        '''不以test开头的方法不会自动测试'''        self.assertEqual(4,fun1(8))if __name__ == '__main__':    unittest.main()

更多信息见https://docs.python.org/3/library/unittest.html


转载请标明出处,原文地址(http://blog.csdn.net/lis_12/article/details/).

如果觉得本文对您有帮助,请点击支持一下,您的支持是我写作最大的动力,谢谢。

0 0
原创粉丝点击