码迷,mamicode.com
首页 > 编程语言 > 详细

python单元测试

时间:2014-10-29 16:37:21      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   ar   sp   文件   div   on   

假如你的项目里有这样一个文件mylib.py,文件里写了很多个方法供外面的人调用

def add(x,y):
    return x+y

def division(x,y):
    return x/y

def mutiply(x,y):
    return x*y

def subtract(x,y):
    return x-y

def main():
    pass

if __name__ == __main__:
    main()

那么我们要怎么编写单元测试代码来验证这些方法的正确性?

请看下面的文件testadd.py (文件名必须以test开头)

import mylib
import unittest

class TestCase(unittest.TestCase):
    def test_add(self):
        self.assertEqual(mylib.add(2,3),5)

def main():
    unittest.main()

if __name__ == __main__:
    main()

其中类名TestCase可以随便取,但是方法名test_add必须以test开头,这样在运行testadd.py的时候程序才知道要运行这个方法。

运行结果如下:

$ python testadd.py
.
----------------------------------------------------------------------
Ran 1 test in 14.564s

OK

如果我们还有另外i啊一个文件testsub.py

import unittest
import arithmetic


class MyTest(unittest.TestCase):
    def test_sub(self):
        self.assertEqual(arithmetic.subtract(4,2),1)

def main():
    unittest.main()

if __name__ == __main__:
    main()

而我们想要把testadd.py和testsub.py一起运行的话只要执行这个命令就可以了

python -m unittest discover

unittest 将递归地查找当前目录下匹配test*.py的文件,并将其中的unittest.TestCase的所有子类都实例化,然后调用相应的测试方法进行测试。

python单元测试

标签:style   blog   io   color   ar   sp   文件   div   on   

原文地址:http://www.cnblogs.com/streakingBird/p/4059596.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!