python在unittest.TestCase类中有很多断言方法,具体就不列举了。
先写出需要测试的类
class Employee():
def __init__(self,first,last,money):
#定义了类中有哪些属性
self.first=first
self.last=last
self.money=money
def give_raise(self,add_money=5000):
#如果增加的钱是默认的,那就增加5000,如果不是那就需要自己输入增加再增加
self.money=add_money+self.money
然后测试如果加的钱是默认的是否只加5000,如果不是默认的而是自己输入的某一个值,是否增加了这个值的数额。
import unittest
from employee import Employee
#导入unittest模块和要测试的类
class TestEmployee(unittest.TestCase):
#用常用的断言方法来判断是否正确
def setUp(self):
self.employee_one=Employee('one','one',100000)
self.true_money=[110000,105000]
def test_give_default_raise(self):
#测试类中的不按默认增加是否正确
self.employee_one.give_raise(add_money=10000)
self.assertIn(self.employee_one.money,self.true_money)
def test_give_custom_raise(self):
#测试类中的按默认增加5000是否正确
self.employee_one.give_raise()
self.assertIn(self.employee_one.money,self.true_money)
unittest.main()
这里我用的是setUp方法,需要创建一个调查对象(self.employee_one),还需要创建一个答案列表,之后测试检查是否程序给出的结果是符合答案的