python3的eval方法

eval() 函数用来执行一个字符串表达式,并返回表达式的值

# 例如
a = [1,2,3,4]
b = "a"
print(eval(b))
# 执行结果
[1, 2, 3, 4]

利用eval方法实现unittest单元测试

实现只执行test开头的case

先建一个demo
class Demo:
def demo_01(self):
print("这是demo_01") def test_demo(self):
print("这是test_demo") def demo_03(self):
print("这是demo_03") class manage:
dm = Demo()
func_list=dir(dm)
for func in func_list:
if func.startswith("test"):
eval("dm.%s()"%func)
# 运行结果
这是test_demo

实现 seUpClass、tearDownClass功能

class Demo:
def setUpClass(self):
print("这是setUpClass") def tearDownClass(self):
print("这是tearDownClass") def demo_01(self):
print("这是demo_01") def test_demo(self):
print("这是test_demo") def demo_03(self):
print("这是demo_03") class manage:
dm = Demo()
func_list = dir(dm)
teardownclass =None
for data_prepare in func_list:
if data_prepare == "setUpClass":
eval("dm.%s()" % data_prepare)
if data_prepare == "tearDownClass":
teardownclass = data_prepare
for func in func_list:
if func.startswith("test"):
eval("dm.%s()" % func)
if teardownclass !=None:
eval("dm.%s()"%teardownclass)
# 执行结果
这是setUpClass
这是test_demo
这是tearDownClass

实现setUp、tearDown功能

class Demo:
def setUpClass(self):
print("这是setUpClass") def tearDownClass(self):
print("这是tearDownClass") def setUp(self):
print("这是setUp") def tearDown(self):
print("这是tearDown") def demo_01(self):
print("这是demo_01") def test_demo(self):
print("这是test_demo") def demo_03(self):
print("这是demo_03") class manage:
dm = Demo()
func_list = dir(dm)
teardownclass = None
setup = None
teardown = None
for data_prepare in func_list:
if data_prepare == "setUpClass":
eval("dm.%s()" % data_prepare)
if data_prepare == "tearDownClass":
teardownclass = data_prepare
if data_prepare == "setUp":
setup = data_prepare
if data_prepare == "tearDown":
teardown = data_prepare
for func in func_list:
if func.startswith("test"):
if setup != None:
eval("dm.%s()" % setup)
eval("dm.%s()" % func)
if teardown != None:
eval("dm.%s()" % teardown)
if teardownclass !=None:
eval("dm.%s()"%teardownclass)
# 执行结果
这是setUpClass
这是setUp
这是test_demo
这是tearDown
这是tearDownClass

以上就是实现unittest单元测试的过程,以上内容均来自互联网,转载请注明

利用python简单实现unittest的更多相关文章

  1. 宅男福利--利用Python简单爬图

    Ver beta..代码粗陋. 使用说明以Windows为例, Python版本为2.7.6 确认你电脑已经安装了Python, Windows默认安装路径为C:\Python27.如果没有安装,先下 ...

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

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

  3. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  4. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  5. 利用Python进行简单的图像识别(验证码)

    这是一个最简单的图像识别,将图片加载后直接利用Python的一个识别引擎进行识别 将图片中的数字通过 pytesseract.image_to_string(image)识别后将结果存入到本地的txt ...

  6. python简单的监控脚本-利用socket、psutil阻止远程主机运行特定程序

    python简单的监控脚本-利用socket.psutil阻止远程主机运行特定程序 psutil是一个跨平台的库(http://code.google.com/p/psutil/),能够轻松的实现获取 ...

  7. 利用python,简单的词语纠错

    利用python,编写一个简单的词语纠正修改器. 原文:http://norvig.com/spell-correct.html #!/usr/bin/env python # coding=utf- ...

  8. Python 利用Python编写简单网络爬虫实例3

    利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站“http://bbs.51testing. ...

  9. Python 利用Python编写简单网络爬虫实例2

    利用Python编写简单网络爬虫实例2 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站“http://www.51testing. ...

随机推荐

  1. JavaScript学习系列博客_13_JavaScript中的对象(Object)简介

    对象 对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性.除了那5种基本数据类型,就是对象. 分类:1.内建对象- 由ES标准中定义的对象,在任何的ES的实现中都可以使用- 比如:Ma ...

  2. ubuntu 本地源搭建

    1.软件包放在 deps 目录下: dpkg-scanpackages deps /dev/null |gzip > deps/Packages.gz -r 2.更新 sources.list ...

  3. Java中实现对集合中对象按中文首字母排序

    有一个person对象如下: public class Person { private String id;private String nam; } 一个list集合如下: List<Emp ...

  4. 个人项目wc

    github地址:https://github.com/YTFFBX/wc 1.题目描述 Word Count1. 实现一个简单而完整的软件工具(源程序特征统计程序).2. 进行单元测试.回归测试.效 ...

  5. Spark-shell 报错:Failed to get database default, returning NoSuchObjectException

    Spark-shell 执行sql查询报错: 20/08/24 15:33:59 WARN metastore.ObjectStore: Failed to get database default, ...

  6. 今天来学习一下MySQl的 临时表,变量,行转列,预处理的一些相关技术的使用!

    先来简单了解一下MySQL数据库有意思的简介 MySQL这个名字,起源不是很明确.一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上, 而且不管怎样,MySQL AB创始 ...

  7. 数字电路基础(三)TTL与非门输入端接电压表的示数

    如下图所示,当ui输入低电平,电压表示数为0.3v,当ui输入高电平时,电压表示数为1.4v,分析如下 当ui=0.3 此时VT1导通,电流都从输入端流出,VT1的基极电位被钳位在1.0v(Ub1=0 ...

  8. 【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等

    作者:程序员小冰,GitHub主页:https://github.com/QQ986945193 新浪微博:http://weibo.com/mcxiaobing 首先给大家看一下我们今天这个最终实现 ...

  9. beautifulsoup教程

    beautifulsoup教程 BeautifulSoup4是爬虫必学的技能.BeautifulSoup最主要的功能是从网页抓取数据,Beautiful Soup自动将输入文档转换为Unicode编码 ...

  10. 【干货满满】1.5w字初中级前端面试复习总结

    前言 金九银十,又是一波跑路.趁着有空把前端基础和面试相关的知识点都系统的学习一遍,参考一些权威的书籍和优秀的文章,最后加上自己的一些理解,总结出来这篇文章.适合复习和准备面试的同学,其中的知识点包括 ...