#city_function.py
def city_function(city,country):
return city.title() + ', ' + country.title()
#test_cities.py
import unittest
from city_function import city_function
class CityTest(unittest.TestCase):
def test_city_country(self):
city_country = city_function('santiago','chile')
self.assertEqual(city_country,'Santiago, Chile')
unittest.main()
11-3 雇员:编写一个名为Employee 的类,其方法__init__() 接受名、姓和年薪,并将它们都存储在属性中。编写一个名为give_raise() 的方法,它默认将年薪增加5000美元,但也能够接受其他的年薪增加量。为Employee 编写一个测试用例,其中包含两个测试方法:test_give_default_raise() 和test_give_custom_raise() 。使用方法setUp() ,以免在每个测试方法中都创建新的雇员实例。运行这个测试用例,确认两个测试都通过了。
#employee.py
class Employee():
def __init__(self,firstname,lastname,salary):
self.firstname = firstname
self.lastname = lastname
self.salary = salary
def give_raise(self,inc = 5000):
self.salary += inc
#test_employee.py
import unittest
from employee import Employee
class EmployeeTest(unittest.TestCase):
"""测试Employee类"""
def setUp(self):
self.initSalary = 8000
self.employ = Employee('di','hu',self.initSalary)
def test_give_default_raise(self):
"""测试是否加薪,默认5000"""
self.employ.give_raise()
self.assertEqual(self.employ.salary,self.initSalary+5000)
#self.employ会返回初始状态,即不同的测试不会互相影响
def test_give_custom_raise(self):
"""测试是否加薪2000"""
self.employ.give_raise(2000)
self.assertEqual(self.employ.salary,self.initSalary+2000)
unittest.main()