接口测试的本质 就是测试类里面的函数、

单元测试的本质  测试函数 代码级别

单元测试框架 unittest 接口  pytest  web

功能测试:

1、写用例 ----> TestCase

2、执行用例 ----> 1:TestSuite 存储用例 2:TestLoader  ---->  找用例 ,加载用例,存到1的testSuite  跑特定的用例

3、对比结果----> 断言 Asser

4、出具测试报告----> TextTestRunner

#编写测试用例
#1:一个用例就是一个函数 不能传参 只有self关键字
#所有的用例(所有的函数 都是test开头 test_)
#输出结果 根据ASCII编码排序
import unittest
from GYP_test.math import MathMethod #测试的目标
class TestMathMethon(unittest.TestCase):#继承了unittest里面的TestCase 专门来写用例
#编写测试用例
#1:一个用例就是一个函数 不能传参 只有self关键字
#所有的用例(所有的函数 都是test开头 test_)
def test_add_two_positive(self):
res = MathMethod(1,1).add()
print('1+1的结果值是:',res)
def test_add_two_zero(self):
res = MathMethod(0, 0).add()
print('0+0的结果值是:', res)
def test_add_two_fushu(self):
res = MathMethod(-1, -2).add()
print('-1+-2的结果值是:',res)
#输出结果 根据ASCII编码排序
if __name__ == '__main__':
unittest.main()

执行特定的用例如下:

import unittest
from GYP_test.math import MathMethod #测试的目标
class TestMathMethon(unittest.TestCase):#继承了unittest里面的TestCase 专门来写用例
#编写测试用例
#1:一个用例就是一个函数 不能传参 只有self关键字
#所有的用例(所有的函数 都是test开头 test_)
def test_add_two_positive(self):
res = MathMethod(1,1).add()
print('1+1的结果值是:',res)
def test_add_two_zero(self):
res = MathMethod(0, 0).add()
print('0+0的结果值是:', res)
def test_add_two_fushu(self):
res = MathMethod(-1, -2).add()
print('-1+-2的结果值是:',res)
#输出结果 根据ASCII编码排序
if __name__ == '__main__':
unittest.main()
import unittest
from GYP_test.class_01 import TestMathMethon suite= unittest.TestSuite()#存储用例
#方法一:
#只执行一条 两个数相加
# suite.addTest(TestMathMethon('test_add_two_zero'))
# suite.addTest(TestMathMethon('test_add_two_positive')) #方法二 TestLoader
loader = unittest.TestLoader()#加载器
suite.addTest(loader.loadTestsFromTestCase(TestMathMethon))
loader.loadTestsFromModule()#从模块中加载 具体的模块 类名是找不到的 #执行
runner= unittest.TextTestRunner()
runner.run(suite)

10_27_unittest的更多相关文章

随机推荐

  1. 2018-2019-2 20165232《网络对抗技术》Exp1 缓冲区溢出实验

    2018-2019-2 20165232<网络对抗技术>Exp1 缓冲区溢出实验 实验点1:逆向及Bof基础实践 实践任务 用一个pwn1文件. 该程序正常执行流程是:main调用foo函 ...

  2. freetype 字形解析

    目录 freetype 字形解析 字体管理 数据结构 字体抽象 title: freetype 字形解析 date: 2019/3/7 20:17:46 toc: true --- freetype ...

  3. Springboot-async(异步)初识

    通过@Async注解实现一个简单的异步任务处理 首先,假设一个全自动化的工厂车间每天需要开启四台互不影响的机器开关来完成生产量,于是车间主任A委派“同步甲”和“异步乙”轮 流完成每天打开机器开关的任务 ...

  4. python之路(12)网络编程

    前言 基于网络通信(AF_INET)的socket(套接字)实现了TCP/UDP协议 目录 基于TCP协议的socket 基于UDP协议的socket TCP协议下粘包现象及处理 使用socketse ...

  5. MySQL 死锁场景

    SESSION 1 SESSION 2 SESSION 3 START TRANSACTION START TRANSACTION START TRANSACTION INSERT       INS ...

  6. Ext.Net的一例Ext Undefined解决办法

    在运行的产品里发现了一例Ext Undefined报错.经过仔细排查原因是一个Ext.net按钮控件前端显示部分使用了<% if()  <%> 动态控制输出Html脚本(有对应的后端 ...

  7. 最短路径(Dijkstra算法)

    算法局限性:边的权值不能为负. 需要两个辅助数组dist[],path[],分别记录起点到各点的最短距离和最短路径 算法步骤: 1.根据起点v0初始化dist[]和path[]数组. 2.在剩下的点中 ...

  8. nginx反向代理配置两个不同服务器

    1.什么是反向代理通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中由代理服务器向Inter ...

  9. springboot格式化时间

    使用@RestController注解,返回的java对象中若含有date类型的属性,则默认输出为TIMESTAMP时间戳格式,可以在配置文件加入下面配置 spring.jackson.date-fo ...

  10. [Kubernetes]PV,PVC,StorageClass之间的关系详解

    在Kubernetes中,容器化一个应用比较麻烦的地方莫过于对其"状态"的管理,而最常见的"状态",莫过于存储状态. 在[Kubernetes]深入理解Stat ...