为什么要进行顺序控制呢?使用过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控制用例的执行顺序的更多相关文章

  1. python+unittest 控制用例的执行顺序

    unittest的main()方法执行用例的顺序是按照测试类.测试方法的名字的ASCII顺序来执行测试方法.所以可能执行的顺序和你想要的顺序不一样,可能通过下面两种方法修改执行顺序 1. 通过Test ...

  2. unittest中setUp与setUpClass执行顺序

    最基础的概念 1.setUP(self)看下面的执行顺序 import unittest class TestGo(unittest.TestCase): def setUp(self): print ...

  3. pytest用例的执行顺序

    Pytest执行的顺序 当pytest运行测试函数时,它会查看该测试函数中的参数,然后搜索与这些参数具有相同名称的fixture.一旦pytest找到这些对象,它就会运行这些fixture 影响执行顺 ...

  4. python—day15 包的认识、执行顺序、执行流程、循环导入、包的导入、绝对、相对导入

    一.包的认识   包通过文件夹来管理一系列功能相近的模块 ​ 包:一系列模块的集合体 重点:包中一定有一个专门用来管理包中所有模块的文件 包名:存放一系列模块的文件夹名字 包名(包对象)存放的是管理模 ...

  5. python多个装饰器的执行顺序

    def decorator_a(func): print 'Get in decorator_a' def inner_a(*args, **kwargs): print 'Get in inner_ ...

  6. python 多进程的启动和代码执行顺序

    对照着廖雪峰的网站学习Python遇到些问题: 在进程中,父进程创建子进程时发现,显示不是按照顺序显示,疑问? 参照代码如下: from multiprocessing import Pool imp ...

  7. 使用 CountDownLatch 控制多个线程执行顺序

    已同步更新至:http://dxjia.cn/2015/08/countdownlatch-use/ 有时候会有这样的需求,多个线程同时工作,然后其中几个可以随意并发执行,但有一个线程需要等其他线程工 ...

  8. C#中控制线程池的执行顺序

    在使用线程池时,当用线程池执行多个任务时,由于执行的任务时间过长,会导制两个任务互相执行,如果两个任务具有一定的操作顺序,可能会导制不同的操作结果,这时,就要将线程池按顺序操作.下面先给一段代码,该代 ...

  9. CountDownLatch同步工具--控制多个线程执行顺序

    好像倒计时计数器,调用CountDownLatch对象的countDown方法就将计数器减1,当到达0时,所有等待者就开始执行. java.util.concurrent.CountDownLatch ...

随机推荐

  1. Java初学者作业——实现控制台的猜数字游戏。游戏运行时产生一个1~100之间的随机数字

    返回本章节 返回作业目录 需求说明: (1)实现控制台的猜数字游戏.游戏运行时产生一个1-100之间的随机数字 (2)要求用户从控制台输入数字,若输入的数字比随机数小,则输出"太小了,再大一 ...

  2. 涂鸦智能 dubbo-go 亿级流量的实践与探索

    涂鸦智能 dubbo-go 亿级流量的实践与探索 dubbo 是一个基于 Java 开发的高性能的轻量级 RPC 框架,dubbo 提供了丰富的服务治理功能和优秀的扩展能力.而 dubbo-go 在 ...

  3. Microsoft HoloLens 开发(2): 运行Hello World

    1.下载 MixedRealityToolkit-Unity (混合现实工具包) 什么是 MixedRealityToolkit-Unity ? 一个脚本和组件的集合,加速针对微软全息和Windows ...

  4. JMeter_调试取样器(Debug Sampler)

    大家在调试 JMeter 脚本时有没有如下几种需求: 我想知道参数化的变量取值是否正确! 我想知道正则表达式提取器(或json提取器)提取的值是否正确! 我想知道 JMeter 属性! 调试时服务器返 ...

  5. js 调用同级的 iframe 方法

    有两个 iframe <iframe id="a"> <script> function food(a){ return a+1; } </scrip ...

  6. Standalone集群搭建和Spark应用监控

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6815920501530034696/ 承接上一篇文档<Spark词频前十的统计练习> Spark on ...

  7. js字符串首字母大写的不同写法

    写法一: let name = 'hello' name.charAt(0).toUpperCase() + name.slice(1) 写法二: let name = 'hello' name.sl ...

  8. YBT 1633:【例 3】Sumdiv

    http://ybt.ssoier.cn:8088/problem_show.php?pid=1633 A^B 快速幂求结果,所有约数和,可以通过组合来进行得到. 技巧,通过递归得到1~n次的和.su ...

  9. 关于less使用初学者常犯错误

    1.多层嵌套 2.定义变量复用性不高 3.方法定义多余参数.

  10. 【Java】注解Annotation

    注解 Annotation 理解Annotation jdk 5.0 新增的功能 Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理.通 ...