找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1912|回复: 2

[求助] 测试类错误,请问错误原因在哪?

3

主题

24

帖子

24

积分

贫民

积分
24
ccwybatn 发表于 2017-11-20 22:34:36 | 显示全部楼层 |阅读模式
employee.py
  1. class Employee():
  2.     def __init__(self,first,last,salary):
  3.         self.first=first
  4.         self.last=last
  5.         self.salary=salary

  6.     def give_raise(self,salary_raise=5000):
  7.         print(self.salary+salary_raise)
复制代码


testemployee.py
  1. import unittest
  2. from employee import Employee

  3. class TestEmployee(unittest.TestCase):
  4.     def setUp(self):
  5.         first='a'
  6.         last='a'
  7.         salary=500
  8.         self.mytest=Employee(first,last,salary)
  9.         self.my_answer=[550,5500]

  10.     def test_give_default_raise(self):
  11.         self.assertIn(self.mytest.give_raise(),self.my_answer)

  12.     def test_give_custom_raise(self):
  13.         self.assertIn(self.mytest.give_raise(50),self.my_answer)

  14. unittest.main()
复制代码
用testemployee.py来测试Employee这个类,可是,2个测试都不通过?这是什么原因?
回复

使用道具 举报

2

主题

219

帖子

219

积分

版主

Rank: 7Rank: 7Rank: 7

积分
219

热心会员默默耕耘优秀版主

剑心无痕 发表于 2017-11-21 09:02:43 | 显示全部楼层
class Employee():
    def __init__(self,first,last,salary):
        self.first=first
        self.last=last
        self.salary=salary

    def give_raise(self,salary_raise=5000):
        print(self.salary+salary_raise)
        return self.salary+salary_raise
你没有返回值,None肯定不在my_answer里,报错啊
回复 支持 反对

使用道具 举报

3

主题

24

帖子

24

积分

贫民

积分
24
ccwybatn  楼主| 发表于 2017-11-22 21:12:13 | 显示全部楼层
剑心无痕 发表于 2017-11-21 09:02
class Employee():
    def __init__(self,first,last,salary):
        self.first=first

哦,对对对!我开始测试的时候写的是print(give_raise()),原来这里错了,多谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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