一. 源码的说明

在源码中,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文件测试用例的执行顺序的更多相关文章

  1. selenium3关于ddt驱动之读取json文件。。。

    from selenium import webdriver import ddt import time import unittest """ DDT(驱动.json ...

  2. jqery ajax读取json文件

    json文件数据 [ {"name":"哈哈··","email":"邮箱01","gender": ...

  3. Selenium实战(四)——unittest单元测试3(测试用例的执行顺序)

    一.测试用例的执行顺序 层级:多个测试目录 > 多个测试文件 > 多个测试类 > 多个测试方法(测试用例).在这里以一个测试执行顺序的脚本为例test_order.py import ...

  4. jquery无法读取json文件问题

    jquery无法读取json文件,如:user.json文件无法读取.把user.json文件的后缀名修改为aspx,文件内容不变,则可以读取~ 原理不懂!~~

  5. Unity 用C#脚本读取JSON文件数据

    读取JSON文件数据网上有很多方法吗,这里采用SimpleJSON,关于SimpleJSON的介绍参考以下链接:http://wiki.unity3d.com/index.php/SimpleJSON ...

  6. cocos2d-x 读取 json 文件并用 jsoncpp 做解析

    一码胜万言(请看注释) CclUtil.h // // CclUtil.h // PracticeDemo // // Created by kodeyang on 8/1/13. // // #if ...

  7. jQuery读取json文件,实现省市区/县(国标)三级联动

    最近做一个微信项目,需要用户填写所在的省市区/县,决定使用jQuery读取json文件来实现省市区/县的联动. 其实很简单,jQuery文档也有详细解释: 代码如下: html <table w ...

  8. spring注解读取json文件

    开发时候在接口没有提供的时候,可以用json文件提前模拟接口数据 1.service层 package com.syp.spring.service; import java.io.File; imp ...

  9. Android - 读取JSON文件数据

    Android读取JSON文件数据 JSON - JavaScript Object Notation 是一种存储和交换文本信息的语法. JSON对象在花括号中书写.用逗号来分隔值. JSON数组在方 ...

随机推荐

  1. centos7 Dockerfile安装nginx

    1.写一个Dockerfile文件 FROM centos MAINTAINER apeng apeng@apenglinux-002.com RUN yum install -y pcre-deve ...

  2. .net ASPxGridView 使用手记

    统计汇总功能: TotalSummary属性:此属性必须设置KeyFieldName属性:Settings中的ShowFooter属性设置为True. DisplayFormat:同.net中的Str ...

  3. Struts 2 类型转换器 输入校验 拦截器

    Struts 2中内建了字符串类型和常见类型之间相互转换的转换器,能满足大多数转换需求,但不能完成字符串和User对象之间的转换. OGNL项目中有一个TypeConvert接口,这个接口是自定义类型 ...

  4. SQL CHECK sql server免费监控单实例工具

    SQL Check 阅读目录 SQL Check? 主要特点 说说不足 下载地址 小结 一款实时性能监测工具 回到目录 SQL Check? 一款实时监测SQL数据库性能.实时排查的问题的免费工具. ...

  5. windows如何安装mysql

    参考一下网址,已测试可用 https://www.cnblogs.com/reyinever/p/8551977.html

  6. Maven项目settings.xml的配置

    原文地址 http://www.cnblogs.com/DreamDrive/p/5571916.html 在Maven中提供了一个settings.xml文件来定义Maven的全局环境信息.这个文件 ...

  7. yum安装mysql5.6

    1.检查系统是否安装其他版本的MYSQL数据 yum list installed | grep mysql yum -y remove mysql-libs.x86_64 2.安装及配置 wget ...

  8. Php 删除数组后几个元素

    <?php /* * 文件分类: practice@helkbore * 删除数组后几个元素 年2月5日10:24:42 */ $arr1 = array('aa', 'b', 'c', 'dd ...

  9. ubuntu服务器无法运行chromedriver解决方法(转)

    无头浏览器 sudo apt-get install Xvfb sudo pip install pyvirtualdisplay from pyvirtualdisplay import Displ ...

  10. 转:Oracle中的日期和字符串互相转换

    TO_DATE格式(以时间:2007-11-02   13:45:25为例)          Year:             yy two digits 两位年                显 ...