Erlo

测试代码的练习2——python编程从入门到实践

2019-07-17 23:02:36 发布   232 浏览  
页面报错/反馈
收藏 点赞

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,确认测试通过。

 

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认