本章学习了如何科学合理地进行代码的测试,这里用到了python中的unittest模块,unittest提供了若干函数,可以测试结果是否相同或不同、是否包含、是否为真或假等。以下是练习题的实现
'''
#11-2 测试函数
import unittest
def get_city(city,country,population=0): #函数实现,返回一个标准格式的字符串
if population:
return city.title()+', '+country.title()+' - population '+str(population)
else:
return city.title()+', '+country.title()
class CitiesTestCase(unittest.TestCase): #继承了unittest中的一个标准类
def test_city(self):
result=get_city('guangzhou','china')
self.assertEqual(result,'Guangzhou, China') #判断是否相同
def test_city_populatin(self):
result=get_city('guangzhou','china',20000000)
self.assertEqual(result,'Guangzhou, China - population 20000000')
unittest.main() #调用测试
'''
'''
#11-3 测试类
import unittest
class Employee: #类的实现
def __init__(self,first_name,last_name,salary):
self.information=[first_name.title(),last_name.title(),salary]
def give_raise(self):
self.information[2]+=5000
class TestEmployee(unittest.TestCase): #测试类
def setUp(self): #实例化一个测试案例
self.my_employee=Employee('hua','li',100000)
self.inf=['Hua','Li',100000]
def test_default(self):
self.assertEqual(self.my_employee.information,self.inf)
def test_raise(self):
self.inf[2]+=5000
self.my_employee.give_raise()
self.assertEqual(self.my_employee.information,self.inf)
unittest.main()
'''
2018/4/9