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

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

单元测试框架 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. Python解析xml文档实战案例

    xml文档 <?xml version="1.0" ?> <!DOCTYPE PubmedArticleSet PUBLIC "-//NLM//DTD ...

  2. ModBus-RTU详解

      Modbus 一个工业上常用的通讯协议.一种通讯约定.Modbus协议包括RTU.ASCII.TCP.其中MODBUS-RTU最常用,比较简单,在单片机上很容易实现.虽然RTU比较简单,但是看协议 ...

  3. js javascript 简易随机值穿插加解密【原】

    适用场景 本方法适用于需要对敏感信息进行加密传输,但加解密要求又不高的场景,因为是前台的javascript加解密,所以其实还是能通过js代码分析出原始值来的. 如果您对信息极其敏感, 比例登录密码这 ...

  4. 乙方渗透测试之Fuzz爆破

    前言 爆破在渗透测试中,对技术的要求不高,但是对技巧和字典的要求就很高了,本篇整理下平时学到的一些爆破思路和技巧(偏web渗透登陆),当你无措可施时,暴力破解是最好的方式. 世界上最可怕的事情是你的习 ...

  5. c/c++语言开发工具Dev-cpp【推荐】

    Dev-cpp: 工具介绍:https://baike.baidu.com/item/dev%20cpp/5617687?fr=aladdin 百度云下载地址:链接: https://pan.baid ...

  6. vue组件创建的三种方式

    1.使用Vue.extend创建全局的Vue组件 //1.1 使用vue.extend创建组件 var com1 = Vue.extend({ //通过template属性指定组件要展示的html结构 ...

  7. 第31月 第9天 责任链AppDelegate

    1.AppDelegate 到这里我们把解决方案再明确一下:把 AppDelegate 的调用解耦成一个 责任链 模型.并且满足以下特征: 每个模块都可以无限制的实现 AppDelegate 的方法. ...

  8. 常用软件记录 ( Windows )

    带括号注明的为主力软件 现安装的: 360驱动大师 7-Zip Acrobat Reader DC Adobe Photoshop 7.0 Anaconda babun Bandizip (解压) b ...

  9. mysql 重置密码

    mysql 重置密码,跳过登录修改密码: # centos 上mysql 已经改名了,启动服务的时候注意是mariadb 了!!!!! # systemctl stop mariadb # syste ...

  10. AppCan

    启动服务 将app程序寄宿在计算机上,在计算机上调试:访问服务地址,将appToken值复制一下 在浏览器输入192.168.2.102:3000/appToken的值/文件路径后即可调试 入口文件 ...