首页 > 代码库 > python单元测试
python单元测试
假如你的项目里有这样一个文件mylib.py,文件里写了很多个方法供外面的人调用
def add(x,y): return x+ydef division(x,y): return x/ydef mutiply(x,y): return x*ydef subtract(x,y): return x-ydef main(): passif __name__ == ‘__main__‘: main()
那么我们要怎么编写单元测试代码来验证这些方法的正确性?
请看下面的文件testadd.py (文件名必须以test开头)
import mylibimport unittestclass 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.564sOK
如果我们还有另外i啊一个文件testsub.py
import unittestimport arithmeticclass 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单元测试
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。