使用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)
类的测试与函数的测试相似,你所做的大部分工作都是测试类中的方法