背景
最近在看《Python编程:从入门到实践》-埃里克·马瑟斯时,发现了之前学习python基础被忽略的一部分:测试。
基本示例
import unittest # 导入测试库
class Employee():
def __init__(self, last_name, first_name, annual_salary):
self.last_name = last_name
self.first_name = first_name
self.annual_salary = annual_salary
def showinfo(self):
print(f"{self.first_name} {self.last_name}的年薪为:{self.annual_salary}")
def give_raise(self, increment=5000):
return int(self.annual_salary) + int(increment)
class TestEmployee(unittest.TestCase): # 继承unittest.TestCase
def setUp(self):
"""
针对类Employee进行测试时,可使用setup()方法,进行创建对象,
让我们只需创建这些对象一次,并在每个测试方法中使用它们。
:return:
"""
self.employee = Employee('yytest', 'x', '200000')
self.employee.showinfo()
def test_give_default_raise(self):
"""
测试函数命名-必须以test开头,并有描述性指明针对某个函数进行的测试。如:test_give_default_raise
:return:
"""
fin_salary = self.employee.give_raise()
self.assertEquals(fin_salary, 205000)
def test_give_custom_raise(self):
fin_salary = self.employee.give_raise(100000)
self.assertEquals(fin_salary, 400000)
if __name__ == '__main__':
"""
代码行unittest.main()让Python运行这个文件中的测试,即运行此py文件中所有test开头的方法。
"""
unittest.main()
运行结果:
测试都成功:
修改断言函数内的值重新测试:
def test_give_custom_raise(self): fin_salary = self.employee.give_raise(100000) self.assertEquals(fin_salary, 400000)
知识点
1、断言方法:用来核实得到的结果是否与期望的结果一致。
具体讲解参考如下:
Python断言及常用断言函数总结_函数断言ture怎么写_Python 学习者的博客-CSDN博客
以供参考
本文只是简单的介绍了unittest最基本的使用方法,在查找资料的时候找到了一些更详细的介绍,链接如下: