对于非接口类函数,即没有被GET、POST调用的函数
二、unittestunittest翻译过来就是“单元测试”,单元测试负责对最小的软件设计单元(模块)进行验证。
而引用python官方文档:unittest是python自带的单元测试框架,有时候又被称为”PyUnit”,是 python版本的JUint实现。
1. 例子 1.1 被测代码首先建立一个类: Compare.py
# 判断2个数大小的类
class Compare:
def __init__(self, a, b):
self.a = int(a)
self.b = int(b)
# 比较
def compareTwoNumber(self):
if self.a > self.b:
return 1
elif self.a < self.b:
return 2
else:
return 0
1.2. 测试代码
写test.py去测试“加法类:Compare.py”:
from Compare import Compare
# 首先引入unittest模块,创建TestAdd类继承unittest的TestCase类。
import unittest
class TestAdd(unittest.TestCase):
# 用于测试用例执行前的初始化工作,而这里用来打印“test start”信息。
def setUp(self):
print('test start')
# 构造测试集 start
# 测试用例1,必须test开头
def test_compare(self):
j = Compare(10, 9)
self.assertEqual(j.compareTwoNumber(), 1, '比较失败!')
# 测试用例2
def test_compare2(self):
j = Compare(10, 11)
self.assertEqual(j.compareTwoNumber(), 2, '比较失败!')
# 测试用例3
def test_compare3(self):
j = Compare(10, 10)
self.assertEqual(j.compareTwoNumber(), 0, '比较失败!')
# 构造测试集 end
# 用于测试用例之后的工作,这里打印“test end”信息。
def tearDown(self):
print('test end')
if __name__ == '__main__':
# 执行测试集合
unittest.main()
2. 代码解释
2.1 前置方法
setUp()方法用于测试用例执行前的初始化工作。
2.2 断言方法在执行用例的过程中,最终用例是否执行通过,是通过判断测试得到的实际结果与预期结果是否相等决定的。
unittest框架的TestCase类提供下面这些方法用于测试结果的判断。
- assertEqual(first, second, msg=None):断言第一个参数和第二个参数是否相等,如果不相等则测试失败。msg为可选参数,用于定义测试时,比较失败的想打印的信息。
- assertTure(expr, msg=None):判断测试表达式是true或false
- assertIN(first, second, msg=None):断言第一个参数是否在第二个参数中,反过来讲,第二个参数是否包含在第一个参数。
tearDow()方法与setUp()相对应,用于测试用例之后的工作。
2.4 执行用例的方法main() :unittest提供的全局方法,可以方便地将一个单元测试模块变成可以直接运行的测试脚本。
main()方法使用TestLoader类来搜索所有包含在该模块中以“test”命名开头的测试方法,并自动执行它们。
三、Pycharm中实操 1. 使用Pycharm• Pycharm下载 https://www.jetbrains.com/pycharm/download • Professional版本可以试⽤30天或申请学⽣优惠
2. 创建⼀个新项⽬,选择Pure Python选择合适的Interpreter
创建⼀个python⽂件并写⼊⼀个函数
Compare.py
在创建python⽂件处选择unittest
确定后会⽣成⼀个模板⽂件
补全测试⽤例
我们再次测试
参考
https://blog.csdn.net/weixin_39610594/article/details/110347673