import unittest

class Test(unittest.TestCase):
def setUp(self):
print("start!=======") def test01(self):
print("执行测试用例01") def test03(self):
print("执行测试用例03") def test02(self):
print("执行测试用例02") def addtest(self):
print("add方法") def tearDown(self):
print("end-------------------!") if __name__ == "__main__":
unittest.main()

每次执行测试用例的时候都会去执行一次setUp 和tearDown,执行脚本结果如下

"D:\Program Files\Python\Python35\python.exe" "D:\Program Files\JetBrains\PyCharm 2017.2.3\helpers\pycharm\_jb_nosetest_runner.py" --target test.py::Test
Testing started at 21:35 ...
Launching Nosetest with arguments D:\Program Files\JetBrains\PyCharm 2017.2.3\helpers\pycharm\_jb_nosetest_runner.py test.py:Test in D:\workspace\90duAuto ..start!=======
执行测试用例01
end-------------------!
start!=======
执行测试用例02
end-------------------!
start!=======
执行测试用例03
end-------------------!
.
----------------------------------------------------------------------
Ran 3 tests in 0.016s OK Process finished with exit code 0

下面我们在看下setUpClass和tearDownClass,而这个只有在开始和结束的时候执行一次

import unittest

class Test(unittest.TestCase):
@classmethod
def setUpClass(cls):
print("start===============!") def test01(self):
print("执行测试用例01") def test03(self):
print("执行测试用例03") def test02(self):
print("执行测试用例02") def addtest(self):
print("add方法") @classmethod
def tearDownClass(cls):
print("end!===================") if __name__ == "__main__":
unittest.main()

python unittest setUp 和 setUpClass 区别的更多相关文章

  1. python的setup和teardown

    关于python unittest ① setup():每个测试函数运行前运行② teardown():每个测试函数运行完后执行③ setUpClass():必须使用@classmethod 装饰器, ...

  2. python 自动化测试框架unittest与pytest的区别

    前言: 有使用过unittest单元测试框架,再使用pytest单元测试框架,就可以明显感觉到pytest比unittest真的简洁.方便很多. unittest与pytest的区别: 主要从用例编写 ...

  3. 第二种方式,修改python unittest的执行顺序,使用猴子补丁

    1.按照测试用例的上下顺序,而不是按方法的名称的字母顺序来执行测试用例. 之前的文章链接 python修改python unittest的运行顺序 之前写的,不是猴子补丁,而是要把Test用例的类名传 ...

  4. unittest和unittest2的区别差异、unittest2框架------执行原理

    unittest和unittest2的区别差异 参考:https://pypi.org/project/unittest2/ unittest2是Python 2.7及更高版本中添加到unittest ...

  5. Python unittest使用小结

    unittest是Python自带的单元测试框架,其中最核心的四个概念是:test case, test suite, test runner, test fixture. 流程:TestLoader ...

  6. python+unittest框架第一天unittest之简单认识Test Fixure:测试固件【8月17更新】

    20万的慢慢会实现的吧,hhh unittest框架,我就不在介绍了,百度有很详细的介绍. 我们只要了解: 1.unittest是单元测试框架 2.它提供用例组织与执行:在实际工作中案例可能有上百条, ...

  7. 从python run 和python unittest两种eclipse运行方式深入理解if __name__ == "__main__"

    在写一个简单的python测试程序的时候,发现eclipse中Run as "Python run 和 Python unittest”结果不一样?为什么会不一样? 先贴一下代码段: # - ...

  8. 自动化测试神器 之 python unittest 断言

    自动化测试的最后一步需要判断结果是否正确,而正确设置断言可以帮助判断测试用例的执行结果,从而提高自动化测试的效率,python unittest  提供了一个比较完整的断言方法.unittest框架测 ...

  9. Pycharm上python unittest不执行"if __name__ == '__main__' "问题or选择非unittest run

    转:http://www.cnblogs.com/csjd/p/6366535.html python unittest不执行"if __name__ == '__main__' " ...

随机推荐

  1. 【警告】WARN: Establishing SSL connection without server's identity verification is not recommended.

    1.Java访问Mysql时出现如下警告: 2019-04-02 10:30:50.545 INFO 1290 --- [nio-8080-exec-1] com.zaxxer.hikari.Hika ...

  2. 关于AndroidStudio 经常弹出TortoiseSVN 同步的解决办法

    我的AndroidStudio在使用时是从TortoiseSVN的文件夹下直接打开的 但是由于svn自己的特点每改一个文件就要跳出来一个svn的对话框 体验极其难受!砍人的心都有了 网上的解决办法都是 ...

  3. Flask之项目创建,路由以及会话控制

    Flask Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架. Flask 本身相当于一个内核,其他几乎 ...

  4. C# 关键字base用法

    1.调用基类的方法 public class A { public virtual void Hello() { Console.WiriteLine("Hello"); } } ...

  5. Kali linux 2016.2(Rolling)里安装OpenVAS

    不多说,直接上干货! 本博文,是在Kali 2.0 linux里,安装OpenVAS. 前言 OpenVAS是一款开放式的漏洞评估工具,主要用来检测目标网络或主机的安全性.与安全焦点的X-Scan工具 ...

  6. hdu6133 Army Formations 线段树合并

    给你一棵有n个节点的二叉树,每个节点有一个权值,对于一棵子树u,将u的子树中的节点权值从大到小排序,令sz[u]为子树u的大小, 则ans[u] = 1 * a[1] + 2 * a[2] + ... ...

  7. eslint详细配置

    vue-cli3按照官网教程配置搭建后,发现每次编译,eslint都抛出错误, 修改配置在 .eslintrc.js中修改   或者  关闭eslint 1.关闭eslint 直接注释掉package ...

  8. 2015-10-21 C#1

    C#(一) 一.C#的数值类型 byte----字节型 short---短整型 int------整型 long----长整型 char----字符型 float----单精度型 double--双精 ...

  9. python-面向对象:类与类之间的关系和特殊成员

    # class Person: # def play(self, tools): # 通过参数的传递把另外一个类的对象传递进来 # tools.run() # print("很开心, 我能玩 ...

  10. prototype和__proto__的关系是什么

    首先,要明确几个点:1.在JS里,万物皆对象.方法(Function)是对象,方法的原型(Function.prototype)是对象.因此,它们都会具有对象共有的特点.即:对象具有属性__proto ...