ddt读取json文件测试用例的执行顺序
一. 源码的说明
在源码中,ddt的file_data函数下有这样一段话

意思是说,如果json文件的内容是字典,字典的键名将会作为测试用例名的后缀,字典的值将会作为测试数据,如果这样的话,如果键名字母排序靠前的是不是先执行,字母排序靠后的是不是后执行?
二. 验证猜想
我们来验证一下,先新建一个my.json文件
{"}
再新建一个测试用例类test_class_ddt.py
import ddt
import unittest
@ddt.ddt
class test_ddt(unittest.TestCase):
@ddt.file_data(r"D:\python_workshop\python6\revise\futureloan_API_framework\my.json")
def test_readData_fromJsonFile(self, a):
"""In case of a dict, keys will be used as suffixes to the name of the
test case, and values will be fed as test data.
如果文件的内容是一个字典,键名将作为测试用例的后缀,值将作为测试数据"""
print("从文件读取数据")
print(a)
最后创建一个主函数,生成html测试报告
import unittest
from revise.futureloan_API_framework.test_class_ddt import test_ddt
import time, os
from HTMLTestRunnerNew import HTMLTestRunner
suite = unittest.TestSuite()
loader = unittest.TestLoader()
suite.addTests(loader.discover(os.getcwd()))
now = time.strftime("%Y-%m-%d_%H-%M-%S")
fs = open(os.getcwd() + "/DDT_Test_Report_{0}.html".format(now), "wb")
runner = HTMLTestRunner(stream=fs, title="DDT Test Report", tester="xiaozhai")
runner.run(suite)
三. 观察结果
总共运行了3次测试用例,生成了3个测试报告,的确,源码说的key会追加到测试用例名后面作为后缀,这个情况是存在的,但运行的顺序却是随机的(可能因为字典是无序的吧)
第一次测试报告

第二次测试报告

第三次测试报告

ddt读取json文件测试用例的执行顺序的更多相关文章
- selenium3关于ddt驱动之读取json文件。。。
from selenium import webdriver import ddt import time import unittest """ DDT(驱动.json ...
- jqery ajax读取json文件
json文件数据 [ {"name":"哈哈··","email":"邮箱01","gender": ...
- Selenium实战(四)——unittest单元测试3(测试用例的执行顺序)
一.测试用例的执行顺序 层级:多个测试目录 > 多个测试文件 > 多个测试类 > 多个测试方法(测试用例).在这里以一个测试执行顺序的脚本为例test_order.py import ...
- jquery无法读取json文件问题
jquery无法读取json文件,如:user.json文件无法读取.把user.json文件的后缀名修改为aspx,文件内容不变,则可以读取~ 原理不懂!~~
- Unity 用C#脚本读取JSON文件数据
读取JSON文件数据网上有很多方法吗,这里采用SimpleJSON,关于SimpleJSON的介绍参考以下链接:http://wiki.unity3d.com/index.php/SimpleJSON ...
- cocos2d-x 读取 json 文件并用 jsoncpp 做解析
一码胜万言(请看注释) CclUtil.h // // CclUtil.h // PracticeDemo // // Created by kodeyang on 8/1/13. // // #if ...
- jQuery读取json文件,实现省市区/县(国标)三级联动
最近做一个微信项目,需要用户填写所在的省市区/县,决定使用jQuery读取json文件来实现省市区/县的联动. 其实很简单,jQuery文档也有详细解释: 代码如下: html <table w ...
- spring注解读取json文件
开发时候在接口没有提供的时候,可以用json文件提前模拟接口数据 1.service层 package com.syp.spring.service; import java.io.File; imp ...
- Android - 读取JSON文件数据
Android读取JSON文件数据 JSON - JavaScript Object Notation 是一种存储和交换文本信息的语法. JSON对象在花括号中书写.用逗号来分隔值. JSON数组在方 ...
随机推荐
- Java 之Object 类
Object 类: 所有类的根类, 是不断向上抽取而来, 具备着所有对象都具备的共性内容. 常用共性方法 boolean equals(Object obj) : 判断两个对象是否相等. 默认比较的是 ...
- Java 面向对象之构造函数和 this 关键字
构造函数 this 关键字 1. 构造函数 class Person { private String name; private int age; // 定义一个 Person 类的构造函数 Per ...
- Android系统移植与调试之------->如何添加一个adb wifi无线调试的功能【开发者选项】-【Wifi调试】
首先弄懂怎么设置adb wifi无线调试的功能,如下所示. 1. 手机端开启adb tcp连接端口 :/$setprop service.adb.tcp.port :/$stop adbd :/$st ...
- (转)RTP-H264封包分析
rtp(H264)第一个包(单一NAL单元模式)————-sps 80 {V=10,p=0,x=0,cc=0000} 60 {m=0,pt=110 0000} 53 70{sequence numbe ...
- Mysql查询结果导出为Excel的几种方法
本文地址:http://www.cnblogs.com/qiaoyihang/p/6398673.html 具体原文找不到了,此篇是借鉴门户的一篇文章 方法一:查询语句直接输出语法格式: Exampl ...
- HTTP状态码集
1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理.这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束.由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试 ...
- IO阻塞模型 非阻塞模型
IO阻塞模型(blocking IO) 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 所以,blocking IO的特点就是在IO执行的两 ...
- LeetCode:每日温度【739】
LeetCode:每日温度[739] 题目描述 根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高的天数.如果之后都不会升高,请输入 0 来代替. 例如,给定一个列 ...
- Ubuntu更新Hostname和hosts
一.概述 Hostname 即主机名,一般存放在 /etc/hostname 中.hosts 即本地域名解析文件,存放在 /etc/hosts 中. 二.测试 2.1 hostname 2.2 hos ...
- Hadoop创始人Doug Cutting寄语2017:五种让开源项目成功的方法
原文链接:http://www.infoq.com/cn/news/2017/01/Hadoop-2017-5-open-source?utm_source=tuicool&utm_mediu ...