ddt读取json文件测试用例的执行顺序

1|0一. 源码的说明


在源码中,ddt的file_data函数下有这样一段话

意思是说,如果json文件的内容是字典,字典的键名将会作为测试用例名的后缀,字典的值将会作为测试数据,如果这样的话,如果键名字母排序靠前的是不是先执行,字母排序靠后的是不是后执行?

2|0二. 验证猜想


我们来验证一下,先新建一个my.json文件

{"name":"nick","gender":"male","age":"29"}

再新建一个测试用例类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|0三. 观察结果


总共运行了3次测试用例,生成了3个测试报告,的确,源码说的key会追加到测试用例名后面作为后缀,这个情况是存在的,但运行的顺序却是随机的(可能因为字典是无序的吧)

3|1第一次测试报告


3|2第二次测试报告


3|3第三次测试报告


 


__EOF__

本文作者cnhkzyy
本文链接https://www.cnblogs.com/my_captain/p/9318626.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   cnhkzyy  阅读(999)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示