Python编程:从入门到实践 11.3动手试一试

it2022-05-07  29

Python编程:从入门到实践 11.3动手试一试

最近新学python,也是懵懵懂懂,跌跌撞撞,但运行成功的时候很开心,想和大家分享,不一定对,毕竟还是菜鸟嘻嘻?

11-3 雇员 :

编写一个名为Employee 的类,其方法__init__() 接受名、姓和年薪,并将它们都存储在属性中。编写一个名为give_raise() 的方法,它默认将年薪增加5000美元,但也能够接受其他的年薪增加量。为Employee 编写一个测试用例,其中包含两个测试方法:test_give_default_raise() 和test_give_custom_raise() 。使用方法setUp() ,以免在 每个测试方法中都创建新的雇员实例。运行这个测试用例,确认两个测试都通过了。

class Employee(): """编写一个名为Employee 的类,其方法__init__() 接受名、姓和年薪,并将它们都存储在属性中。编写一个名为give_raise() 的方法,它默认将年薪增加5000美元,但也能够接受其他的年薪增加量。""" def __init__(self,first_name,last_name,annual_salary): self.first_name=first_name self.last_name=last_name self.annual_salary=int(annual_salary) def give_raise(self,add=''): if add: self.annual_salary+=add else: self.annual_salary+=5000 return self.annual_salary

测试模块:

"""为Employee 编写一个测试用例,其中包含两个测试方法:test_give_default_raise() 和test_give_custom_raise() 。使用方法setUp() ,以免在每个测试方法中都创建新的雇员实例。运行这个测试用例,确认两个测试都通过了。""" import unittest from Employee import Employee class TestRaiseSalary(unittest.TestCase): def setUp(self): self.Anne_raise_salary=Employee('Anne','Green','5000') def test_give_default_raise(self): self.assertEqual(self.Anne_raise_salary.give_raise(),10000) def test_give_custom_raise(self): self.assertEqual(self.Anne_raise_salary.give_raise(6000),11000) unittest.main()

运行结果:

.. ---------------------------------------------------------------------- Ran 2 tests in 0.044s OK

最新回复(0)