使用python模块unittest中的工具来测试代码
简单示例:
import unittest def get_formatted_name(first,last): full_name=first+' '+last return full_name class NamesTestCase(unittest.TestCase): def test_first_last_name(self): formatted_name=get_formatted_name('janis','joplin') self.assertEqual(formatted_name,'janis joplin') unittest.main()
运行结果:
. ---------------------------------------------------------------------- Ran 1 test in 0.000s OK
如果改成
self.assertEqual(formatted_name,'janis_joplin')
则会显示出错:
F ====================================================================== FAIL: test_first_last_name (__main__.NamesTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "hello.py", line 10, in test_first_last_name self.assertEqual(formatted_name,'janis_joplin') AssertionError: 'janis joplin' != 'janis_joplin' - janis joplin ? ^ + janis_joplin ? ^ ---------------------------------------------------------------------- Ran 1 test in 0.001s FAILED (failures=1)
unittes Moudule中包含多种断言方法,如
assertEqual(a,b)
assertNotEqual(a,b)
assertTrue(x)
assertIn(item,list)
类的测试与函数的测试相似,你所做的大部分工作都是测试类中的方法