11-3 雇员:编写一个名为Employee的类,其方法__init__() 接受名、姓和年薪,并将它们都存储在属性中。编写一个名为give_raise()的方法,它默认将年薪增加5000美元,但也能够接受其他的年薪增加量。
为Employee编写一个测试用例,其包含两个测试方法:test_give_default_raise()和test_give_custom_raise()。使用方法serUp(),以免再每个测试方法中都创建新的雇员实例,确认两个测试都通过了。
employee_info.py
class Employee: """雇员信息""" def __init__(self, first, last, year_salary): """属性""" self.first_name = first self.last_name = last self.year_salary = year_salary def give_raise(self, add_year_salary=5000): """年薪增加量""" self.year_salary = self.year_salary + add_year_salary return self.year_salary
test_employee_info.py
import unittest from employee_info import Employee class TestEmployee(unittest.TestCase): """针对Employee类的测试""" def setUp(self): """ 创建雇员实例供测试方法使用 """ self.employee = Employee('bob', 'li', 0) def test_give_default_raise(self): """测试默认年薪加量""" self.default_raise = self.employee.give_raise() self.assertEqual(5000, self.default_raise) def test_give_custom_raise(self): """测试其他的年薪增加量""" self.add_raise = 8000 self.custom_raise = self.employee.give_raise(self.add_raise) self.assertEqual(self.add_raise, self.custom_raise) if __name__ == "__main__": unittest.main()
运行测试用例test_employee_info.py,确认测试通过。
参与评论
手机查看
返回顶部