python unittest控制用例的执行顺序
为什么要进行顺序控制呢?使用过testng的同学就知道,它相对于junit来说有更强大的功能,其中的一个功能就是依赖测试。什么是依赖测试呢?简单的说一下就是,A方法运行时,其中有个变量的取值是B方法的动态产出值。这样就必须先执行B方法。testng的test方法有dependson属性来制定方法的依赖。但是向python的unittet框架,他类似于junit,没有依赖测试的功能。unittest的main()方法执行用例的顺序是按照测试类、测试方法的名字的ASCII顺序来执行测试方法。如果想要控制执行顺序,有以下两种方式:
1、 通过TestSuite按照顺序添加想要执行的方法
suite = unittest.TestSuite()
suite.addTest(TestBddClass("method_name_c"))
suite.addTest(TestBddClass("method_name_a"))
这样方法的执行顺序就是先执行method_name_c,在执行method_name_a
这种方式的确定是,你必须要一个个手动去添加,测试过程中,用例个数不可能很少,这样就懵逼了吧。看下一种方式吧。
2、顺应testunit的执行顺序,就是通过控制方法名字来实现。
比如,我要执行一个交易过程的接口测试,该过程包含两个过程,一个是createOrder(创建订单),一个是confirmOrder(确认订单),并且confirmOrder需要交易ID,而交易ID是createOrder接口的动态产出,所以必须要先执行createOrder。
如果名字是testCreateOrder和testConfirmOrder的话,那么肯定先执行testConfirmOrder。怎么办呢?那就改名字呗,比如test_a_CreateOrder, test_b_ConfirmOrder
说的有点啰嗦,但大概是这个意思。
python unittest控制用例的执行顺序的更多相关文章
- python+unittest 控制用例的执行顺序
unittest的main()方法执行用例的顺序是按照测试类.测试方法的名字的ASCII顺序来执行测试方法.所以可能执行的顺序和你想要的顺序不一样,可能通过下面两种方法修改执行顺序 1. 通过Test ...
- unittest中setUp与setUpClass执行顺序
最基础的概念 1.setUP(self)看下面的执行顺序 import unittest class TestGo(unittest.TestCase): def setUp(self): print ...
- pytest用例的执行顺序
Pytest执行的顺序 当pytest运行测试函数时,它会查看该测试函数中的参数,然后搜索与这些参数具有相同名称的fixture.一旦pytest找到这些对象,它就会运行这些fixture 影响执行顺 ...
- python—day15 包的认识、执行顺序、执行流程、循环导入、包的导入、绝对、相对导入
一.包的认识 包通过文件夹来管理一系列功能相近的模块 包:一系列模块的集合体 重点:包中一定有一个专门用来管理包中所有模块的文件 包名:存放一系列模块的文件夹名字 包名(包对象)存放的是管理模 ...
- python多个装饰器的执行顺序
def decorator_a(func): print 'Get in decorator_a' def inner_a(*args, **kwargs): print 'Get in inner_ ...
- python 多进程的启动和代码执行顺序
对照着廖雪峰的网站学习Python遇到些问题: 在进程中,父进程创建子进程时发现,显示不是按照顺序显示,疑问? 参照代码如下: from multiprocessing import Pool imp ...
- 使用 CountDownLatch 控制多个线程执行顺序
已同步更新至:http://dxjia.cn/2015/08/countdownlatch-use/ 有时候会有这样的需求,多个线程同时工作,然后其中几个可以随意并发执行,但有一个线程需要等其他线程工 ...
- C#中控制线程池的执行顺序
在使用线程池时,当用线程池执行多个任务时,由于执行的任务时间过长,会导制两个任务互相执行,如果两个任务具有一定的操作顺序,可能会导制不同的操作结果,这时,就要将线程池按顺序操作.下面先给一段代码,该代 ...
- CountDownLatch同步工具--控制多个线程执行顺序
好像倒计时计数器,调用CountDownLatch对象的countDown方法就将计数器减1,当到达0时,所有等待者就开始执行. java.util.concurrent.CountDownLatch ...
随机推荐
- ssm项目使用过滤器出现4040错误
目录 问题 解决方法 (1)方法一 (2)方法二 问题 过滤器处理乱码问题 public class CharFilter implements Filter { @Override public v ...
- 为什么说DI解耦
为什么说IOC/DI(控制反转/依赖注入)降低耦合 public class HomeController : Controller { private readonly IStudentRepons ...
- Flask_Flask-Script脚本扩展的使用(八)
Flask-Script扩展包提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定制的Python shell,设置数据库的脚本,cronjobs,及其他运行在web应用之外的命令行 ...
- Servlet中分发器和重定向两兄弟
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6513702111698485767/ 弄清这个两兄弟,我们还是从练习中去理解 先创建一个数据提交页面,注意路径 编 ...
- JS获取树的父节点及祖先节点
主体函数 export function findAllParent (node, tree, parentNodes = [], index = 0) { if (!node || node.fid ...
- stm32单片机利用ntc热敏电阻温度转换公式C语言版
首先 我们需要明确电路结构 热敏电阻的原理就不再赘述,本文不凑字数,只讲干货 必须要知道的就是串联电阻R9程序中定义为resistanceInSeries ,精度越高越好 为了方便,先在程序中定义好你 ...
- Kubernetes API作为权威接口,Kubernetes将成为软件的通用控制平面
1创新之处在于API这是有关 Kubernetes的两部分系列中的第一篇.第一部分是一个答案:影响Kubernetes设计的关键思想是什么?Kubernetes会将它与其他平台区分开来吗?第二部分是关 ...
- java集合分类
Java中的集合包括三大类,它们是Set.List和Map, Set(集) List(列表) Map(映射) 它们都处于java.util包中,Set.List和Map都是接口,它们有各自的实现类.( ...
- Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...
- CTF-sql-order by盲注
本文章只讨论了order by盲注,关于order by的报错等注入不在本文章讨论范围,另有文章. 让我们先来看看本文章所使用的表的内容,如下图: 接下来先了解一下order by的基础知识: ord ...