练习 11.3:雇员 编写⼀个名为 Employee 的类,其 init() ⽅法接受名、姓和年薪,并将它们都存储在属性中。
要求
- 编写⼀个名为give_raise() 的⽅法,它默认将年薪增加 5000 美元,同时能够接受其他的年薪增加量。
- 为 Employee 类编写⼀个测试⽂件,其中包含两个测试函数:test_give_default_raise() 和test_give_custom_raise()。在不使⽤夹具的情况下编写这两个测试,并确保它们都通过了。
- 然后,编写⼀个夹具,以免在每个测试函数中都创建⼀个 Employee 对象。重新运⾏测试,确认两个测试都通过了。
代码
我这里只放了有夹具的代码
Employee.py
class Employee:def __init__(self, name, salary):"""初始化姓名,年薪"""self.name = nameself.salary = salarydef give_raise(self, add_salary=5000):"""将年薪增加5000"""self.salary += add_salaryreturn self. Salary
test_Emloyee.py
import pytest
from Employee import Employee@pytest.fixture
def salary_amount():salary_amount = Employee('shui', 100000)return salary_amountdef test_give_default_raise(salary_amount):assert salary_amount.give_raise() == 105000def test_give_custom_raise(salary_amount):assert salary_amount.give_raise(10000) == 110000 # 在这里自定义要增加的薪水