鱼C论坛

 找回密码
 立即注册
查看: 1078|回复: 3

在看书的时候遇到了一个习题想看看大家的思路 能否劳烦大家帮忙写一下程序

[复制链接]
发表于 2018-12-22 21:29:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在练习的时候,看不懂下面的这个题目,想找大家帮忙写一下程序。谢谢!
11-3 雇员:
编写一个名为Employee 的类,其方法__init__()接受名、姓和年薪,并
将它们都存储在属性中。编写一个名为give_raise()的方法,它默认将年薪增加5000
美元,但也能够接受其他的年薪增加量。
为Employee 编写一个测试用例,其中包含两个测试方法:test_give_default_
raise()和test_give_custom_raise()。使用方法setUp(),以免在每个测试方法中都创
建新的雇员实例。运行这个测试用例,确认两个测试都通过了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-22 21:56:57 | 显示全部楼层
可以是这个意思
  1. class Employee:
  2.     def __init__(self, name, fName,ySalary):
  3.         self.name = name
  4.         self.fName = fName
  5.         self.ySalary = ySalary

  6.    
  7.     def give_raise(self, AddSalary = 0):
  8.         if not AddSalary:        
  9.             return self.ySalary + 5000 # 默认将年薪增加5000
  10.         else:
  11.             return self.ySalary + AddSalary # 也能够接受其他的年薪增加量

  12. def test_give_default_raise(employee): # 测试用例,其中包含两个测试方法
  13.     print(employee.give_raise())

  14.         
  15. def test_give_custom_raise(employee):# 测试用例,其中包含两个测试方法
  16.     print(employee.give_raise(10000))
  17.         
  18. def setUp(): # 。使用方法setUp(),以免在每个测试方法中都创建新的雇员实例
  19.     employee = Employee("甲鱼","小", 10000)
  20.     test_give_default_raise(employee)   
  21.     test_give_custom_raise(employee)

  22. setUp()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-23 11:06:21 | 显示全部楼层
  1. class Employee():
  2.     def __init__(self, Lname,Fname,YSalary=5000): # 默认年薪5000
  3.         self.Lname = Lname      #名
  4.         self.Fname = Fname      #姓
  5.         self.YSalary = YSalary     #年薪
  6.    
  7.     def give_raise(self, ASalary = 0):   
  8.         if not ASalary:        
  9.             return self.YSalary            
  10.         else:
  11.             return ASalary        # 接受其他的年薪增加量
  12.      
  13.             
  14. if __name__=="__main__":
  15.    
  16.     # ===== 方法测试①和② ===== #
  17.             
  18.     def test_give_default_raise(member): # ①、年薪默认5000
  19.         print("Current member's salary default:"+str(member.give_raise())+" $")
  20.                     
  21.     def test_give_custom_raise(member):  #②、年薪增加2000
  22.         print("Current member's salary raise:"+str(member.give_raise(2000))+" $")

  23.     #  ======  setUp新方法======  #
  24.         
  25.     def setUp(): # 每个测试方法中都创建新的雇员实例
  26.         member_one = Employee("Ramble","John")
  27.         test_give_default_raise(member_one)   
  28.         test_give_custom_raise(member_one)

  29.     setUp()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-26 14:29:11 | 显示全部楼层
楼上的大神  我想问一下  如果通过继承来自于Test的 unittest 类似于self.assertEqual 的方法
是否可以??
谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-12 15:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表