1.用例执行顺序

unittest默认会按照ascii码的顺序,依次执行。类名——方法名排序,使用discover也是默认排序。如果不想使用默认排序,就使用testsuite测试集的方式。

import unittest

class TestB(unittest.TestCase):

def setUp(self):

print("class B start")

def testC(self):

print("func c")

def testA(self):

print("func a ")

def tearDown(self):

print("class B end")

class TestA(unittest.TestCase):

def setUp(self):

print("class A start")

def testB(self):

print("func b")

def tearDown(self):

print("class A end")

if __name__=="__main__":

unittest.main()

discover,新建runtest.py文件

import unittest

test_dir="./"

discover=unittest.defaultTestLoader.discover(test_dir,pattern="testorder.py")

if __name__=="__main__":

runner=unittest.TextTestRunner()

runner.run(discover)

suite

if __name__=="__main__":

suite=unittest.TestSuite()

suite.addTest(TestB("testA"))

suite.addTest(TestA("testB"))

suite.addTest(TestB("testC"))

runner = unittest.TextTestRunner()

runner.run(suite)

2.多级目录

执行多级目录,只需要在每个子目录下面添加__init__文件即可

test_a.py

import unittest

class TestA(unittest.TestCase):

def setUp(self):

pass

def test(self):

print("A")

def tearDown(self):

pass

test_b,test_c,test_d只是将test中输出更改为B C D

runtest.py

import unittest

test_dir="./"

discover=unittest.defaultTestLoader.discover(test_dir,pattern="test*.py")

if __name__=="__main__":

runner=unittest.TextTestRunner()

runner.run(discover)

3.装饰器:跳过测试和执行失败

运行测试时,需要跳过某些测试用例,或预期失败,此时unittest提供了装饰器来实现这些需求。

装饰器同样适用于类

装饰器

说明

unittest.skip(原因)

无条件的跳过测试

unittest.skipIf(条件, 原因)

如果条件为真,就跳过测试;否则执行测试

unittest.skipUnless(条件, 原因)

如果条件为真,就执行测试;否则跳过测试

unittest.expectedFailure

预期失败。执行结果失败,pass;执行结果成功,fail

import unittest

class MyTest(unittest.TestCase):

@unittest.skip("直接跳过test_skip")

def test_aaa(self):

print("直接跳过test_aaa\n")

@unittest.skipIf(3>2,"条件为true时,跳过test_skipIf")

def test_bbb(self):

print("跳过test_bbb\n")

@unittest.skipUnless(3>2,"条件为true时,执行测试test_skipUnless")

def test_ccc(self):

print("执行测试test_ccc\n")

@unittest.expectedFailure

def test_ddd(self):

print("test_ddd执行完毕\n")

@unittest.expectedFailure

def test_eee(self):

self.assertEqual(2,3)

if __name__=="__main__":

unittest.main()

4.fixtures

除了用例的fixtures,unittest还提供了更大范围的fixtures,如针对模块和类的

setUpModule/tearDownModule:在整个模块的开始于结束是被执行

setUpClass/earDownClass:在测试类的开始与结束时被执行

setUp/tearDown:在测试用例的开始与结束时被执行

import unittest

def setUpModule():

print("模块:初始化")

def tearDownModule():

print("模块:销毁")

class Test(unittest.TestCase):

@classmethod

def setUpClass(cls):

print("类:初始化")

@classmethod

def tearDownClass(cls):

print("类:销毁")

def setUp(self):

print("用例:初始化")

def tearDown(self):

print("用例:销毁")

def test_case1(self):

print("用例1执行")

def test_case2(self):

print("用例2执行")

if __name__=="__main__":

unittest.main()

【Android自动化】unittest测试框架关于用例执行的几种方法

# -*- coding:utf-8 -*- import unittest class test(unittest.TestCase): def setUp(self): print 'This i ...

python unittest单元测试框架-2discover

基于TestLoader提供的discover方法实现用例执行 当用例达达到数十条后,在runtest.py文件中通过addTest()添加/删除测试用例就非常麻烦.此时可以使用discover方法找 ...

python unittest单元测试框架-1

Test Case.Test Suite.Test Runner.Test Fixture Test Case:单个测试用例 Test Suite:测试组合.可以把多个测试用例集合在一起执行. Tes ...

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

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

python单元测试框架-unittest(三)之用例执行顺序

执行顺序规则: 测试类或测试方法的数字与字母顺序0~9,A-Z 执行如下脚本,理解用例执行顺序 #coding=utf-8 import unittest class Test1(unittest.T ...

Python+selenium之简单介绍unittest单元测试框架

Python+selenium之简单介绍unittest单元测试框架 一.unittest简单介绍 unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是 ...

Python+Selenium框架设计篇之-简单介绍unittest单元测试框架

前面文章已经简单介绍了一些关于自动化测试框架的介绍,知道了什么是自动化测试框架,主要有哪些特点,基本组成部分等.在继续介绍框架设计之前,我们先来学习一个工具,叫unittest.       unit ...

Python+Selenium ----unittest单元测试框架

unittest是一个单元测试框架,是Python编程的单元测试框架.有时候,也做叫做“PyUnit”,是Junit的Python语言版本.这里了解下,Junit是Java语言的单元测试框架,Java ...

Python 单元测试框架系列:聊聊 Python 的单元测试框架(一):unittest

作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

随机推荐

安装KVM及虚拟机

创建lvm       安装kvm相关的包     需要安装的包                                                                 安 ...

关于SWT中的Label类和Text类

Label类的继承关系图 Label是SWT中最简单的界面组件,给出他的一个实例如下: public class Label1 { public static void main(String[] a ...

HDU 1953

#include #include long long int euler(long long int n) { long long int ...

安装mysql后,sql语句中表名区分大小写的问题

今天安装完mysql后,执行查询语句select * from user,结果报user表不存在,但是实际是存在的,查了一下才知道是因为mysql的my.cnf文件中少了一个大小写敏感的配置,若不配置 ...

XML:特殊字符转换

<     < 小于号 >     > 大于号 &    & 和 '   ' 单引号 "   " 双引号 实体必须以符号& ...

中文自然语言处理工具hanlp隐马角色标注详解

本文旨在介绍如何利用HanLP训练分词模型,包括语料格式.语料预处理.训练接口.输出格式等. 目前HanLP内置的训练接口是针对一阶HMM-NGram设计的,另外附带了通用的语料加载工具,可以通过少量 ...

快速幂模n运算

模运算里的求幂运算,比如 5^596 mod 1234, 当然,直接使用暴力循环也未尝不可,在书上看到一个快速模幂算法 大概思路是,a^b mod n ,先将b转换成二进制,然后从最高位开始(最高位一 ...

new FormData&lpar;&rpar; - FormData对象的作用及用法

一.概述 FormData 对象的使用: 1.用一些键值对来模拟一系列表单控件:即把form中所有表单元素的name与value组装成 一个queryString 2. 异步上传二进制文件. 二.使用 ...

Go实现发送解析GET与POST请求

参考链接: https://www.jb51.net/article/115693.htm https://www.jb51.net/article/60900.htm https://www.cnb ...

js 字符串indexof与search方法的区别

1.indexof方法 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. 语法: 注意:有可选的参数(即设置开始的检索位置). 2.search方法 search() 方法用 ...

python装饰器执行顺序_python unittest单元测试框架-3用例执行顺序、多级目录、装饰器、fixtures...相关推荐

  1. Selenium+Python ---- 免登录、等待、unittest单元测试框架、PO模型

    1.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...

  2. python测试框架untest怎么循环执行_Python自动化测试-Unittest单元测试框架详解

    python中unittest模块是用来做单元测试的. unittest是一个python版本的junit,junit是java中的单元测试框架,对java的单元测试,有一句话很贴切:Keep the ...

  3. python自动化测试框架有哪几种_Python自动化测试-Unittest单元测试框架详解

    python中unittest模块是用来做单元测试的. unittest是一个python版本的junit,junit是java中的单元测试框架,对java的单元测试,有一句话很贴切:Keep the ...

  4. python单元测试框架unittest介绍和使用_Python+Selenium框架设计篇之-简单介绍unittest单元测试框架...

    前面文章已经简单介绍了一些关于自动化测试框架的介绍,知道了什么是自动化测试框架,主要有哪些特点,基本组成部分等.在继续介绍框架设计之前,我们先来学习一个工具,叫unittest. unittest是一 ...

  5. python单元测试框架-Python unittest单元测试框架总结

    什么是单元测试 单元测试是用来对一个模块.一个函数或者一个类来进行正确性检验的测试工作. 比如对于函数abs(),我们可以编写的测试用例为: (1)输入正数,比如1.1.2.0.99,期待返回值与输入 ...

  6. python单元测试框架作用_Python自动单元测试框架

    简介: 软件的测试是一件非常乏味的事情,在测试别人编写的软件时尤其如此,程序员通常都只对编写代码感兴趣,而不喜欢文档编写和软件测试这类"没有创新"的工作.既然如此,为什么不让程序员 ...

  7. 华为五年自动化测试工程详细解说:unittest单元测试框架

    一.单元测试框架说明 ​单元测试是指在编程中,针对程序模块的最小单元(类中的方法)进行正确性检验的测试工作.python+selenium自动化测试中通常使用unittest或者pytest作为单元测 ...

  8. 华为5年自动化测试工程详细解说:unittest单元测试框架

    一.单元测试框架说明 单元测试是指在编程中,针对程序模块的最小单元(类中的方法)进行正确性检验的测试工作.python+selenium自动化测试中通常使用unittest或者pytest作为单元测试 ...

  9. 阿里五年自动化测试工程详细解说:unittest单元测试框架

    目录:导读 一.单元测试框架说明 二.unittest框架的4个重要概念. 三.unittest框架中的特殊方法以及特殊方法执行顺序. 四.测试用例的命名. 五.unittest加载并执行测试用例方法 ...

最新文章

  1. mac rails mysql_MAC下Rails连接mysql出现 dyld: Symbol not found: _mysql_get_client_info 的解决办法...
  2. C++中引用()的用法和应用实例
  3. 基于FPGA的OLED屏幕开发
  4. 闷热夏日这个空调太疯狂!
  5. TypeScript入门知识五(面向对象特性二)
  6. python输入整数_Python中实现输入一个整数的案例
  7. c++怎么保存汉字_“的汉字 ”写作练习
  8. 各个线程顺序循环执行
  9. windows系统自动化设置
  10. 如何让多端口网站用一个nginx进行反向代理实际场景分析
  11. 解决:Cannot read property ‘component‘ of undefined ( 即 vue-router 0.x 转化为 2.x)
  12. Win2003下Exchange2003部署图解之七
  13. oracle-11g-R2监听文件配置
  14. 【python】短信验证之腾讯云短信验证详细步骤
  15. leetcode 1033. Moving Stones Until Consecutive 解法 python
  16. 第1章 高瞻远瞩一一游戏开发面面观
  17. 微信小程token_微信小程序-携带Token无感知登陆的网络请求方案
  18. python格式化字符_Python格式化字符串
  19. 弱校联萌十一大决战之如日中天A Ariel【二进制+排序】
  20. gnuradio模块分类

热门文章

  1. 《深入理解java虚拟机》
  2. struts2之请求参数接收
  3. hdu 3046(最小割)
  4. 你有过这样的“反应”吗?
  5. 原来JScript中的关键字'var'还是有文章的
  6. windows auzre 笔记-1
  7. 【源码】Word转PDF V1.0.1 小软件,供新手参考
  8. 直接在PDF文件中改变字体的小技巧
  9. 在 Mac OS X 上安装 TensorFlow
  10. Android 开源框架Universal-Image-Loader全然解析(一)--- 基本介绍及使用