import unittest

class Testfunc(unittest.TestCase):
def testfunc(self):
print('testfunc1') def testfunc2(self):
print('testfunc2') suit = unittest.TestSuite()
suit.addTest(Testfunc('testfunc')) #单独增加测试用例
suit.addTest(unittest.makeSuite(Testfunc)) #把Testfunc下的测试用例都加到suit里面
unittest.TextTestRunner().run(suit) #TextTestRunner创建一个运行器,运行测试用例 if __name__ == '__main__':
unittest.main() #运行class类中的所有测试用例

1、unittest执行顺序,按函数的字母顺序执行

if __name__ == '__main__':
unittest.main()

2、方法开头都是以test开头,才会被执行

3、unittest.main()与TextTestRunner().run()的区别

main()执行的是class中的所有方法,TextTestRunner执行的是自己给suit加入的测试用例

4、setUp、tearDown的执行顺序

import unittest

class Testfunc(unittest.TestCase):
def testfunc(self):
print('testfunc1') def testfunc2(self):
print('testfunc2') def setUp(self):
print("每个用例执行前,运行") def tearDown(self):
print("每个用例执行结束后,运行") @classmethod
def setUpClass(cls):
print("所有用例执行前,运行") @classmethod
def tearDownClass(cls):
print("所有用例执行结束后,运行") if __name__ == '__main__':
unittest.main() #运行class类中的所有测试用例


discover 可以把多个文件中的测试用例集中起来,并返回给测试套件

discover(start_dir,pattern='test*.py',top_level_dir=None) 

start_dir :要测试的模块名或测试用例目录。
pattern='test*.py' :表示用例文件名的匹配原则。星号“*”表示任意多个字符。
top_level_dir=None:测试模块的顶层目录。如果没顶层目录(也就是说测试用例不是放在多级目录
中),默认为 None。
import unittest

def createsuit():
testdir = "E:/lw/书籍/python/自动化/day1/" discover = unittest.defaultTestLoader.discover(testdir,pattern="test*.py",top_level_dir=None)
print(discover) return discover if __name__ == '__main__':
runner = unittest.TextTestRunner()
runner.run(createsuit())
												

unintest基础1的更多相关文章

  1. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  2. node-webkit 环境搭建与基础demo

    首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  5. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  6. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  7. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  8. .NetCore MVC中的路由(1)路由配置基础

    .NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...

  9. .NET基础拾遗(5)多线程开发基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

随机推荐

  1. new AppiumDriver<>(new URL(url), capabilities) 报错 java.lang.NoSuchMethodError: com.google.common.base.Throwables.throwIfUnchecked(Ljava/lang/Throwable;)V

    2017-10-11 17:37:02.102 INFO c.u.a.r.PrepareDriver:41 - appium server url : http://127.0.0.1:4723/wd ...

  2. How to simplify a PHP code with the help of the façade pattern?

    原文:https://phpenthusiast.com/blog/simplify-your-php-code-with-facade-class ------------------------- ...

  3. netty handlers模式

    netty的handler模式真的挺方便的,可以像插件一样随意的插入自己新增的功能而不用队系统进行大的变动. 下面我们来看一下这个模式是如何实现和运行的. 待续...

  4. Mycat探索之旅(5)----常用的分片规则

    分片枚举 通过在配置文件中配置可能的枚举id,自己配置分片,本规则适用于特定的场景,比如有些业务需要按照省份或区县来做保存, 而全国省份区县固定的,这类业务使用本条规则,配置如下: <table ...

  5. vue - 总结build.js

    1. 导入外部包,用关键字 const :ES2015->不可变量 内部使用变量,let -> 块级声明 2.无分号结尾(我猜大概是用了es6变量,避免了es5应缺少分号出现的一些问题) ...

  6. Struts2数据类型转换之批量数据转换

    前面我们实现了从字符串到User对象的转换.如果表单中有多个User数据,我们可以批量转换. 我们把input.jsp修改为: <h1>使用分号隔开username password< ...

  7. Python CODE——Nonblocking I/O client AND Delaying Server

    #!Nonblocking I/O - Chapter 5 -pollclient.py import socket,sys,select port=51423 host='localhost' sp ...

  8. eval(data)和eval("("+data+")")的区别

    如果data是字符串,使用eval("("+data+")")可以将其转换为json对象,和JSON.parse的功能一样.如果data是json对象,使用ev ...

  9. Laravel 学习 .env文件 getenv 获得环境变量的值

    Laravel 学习 .env文件 getenv 获得环境变量的值  我们还需要对应用的 .env 文件进行设置,为应用指定数据库名称 sample. .env . . . DB_DATABASE=s ...

  10. hibernate(jpa)中注解配置字段为主键

    http://www.blogjava.net/ITdavid/archive/2009/02/25/256605.html 注解方式的主键配置     非自增字段为主键,注解annotation表示 ...