4.pytest中固定装置setup和teardown

pytest提供了不同级别的setup和teardown,来完成测试中前置和后置的操作。

1.函数级别:setup_function/teardown_function

def test_source():
    print(‘##### 打印功能 #####‘)

def setup_function():
    print(‘----- 开始打印 -----‘)

def teardown_function():
    print(‘----- 结束打印 -----‘)

2.类级别:setup_class/teardown_class

def add(a,b):
    return a+b
#注意setup_class 和teardown_class 必须写在类中
class Test_add():
   
    def setup_class(self):
        print(‘----- 计算开始 -----‘)

    def teardown_class(self):
        print(‘----- 计算结束 -----‘)

    def test_1(self):
        print(‘----- 正在第一次计算 -----‘)
        assert add(1,2)==3

    def test_2(self):
        print(‘----- 正在第二次计算 -----‘)
        assert add(2,3)==5

3.方法级别:setup_method/teardown_method

def add(a,b):
    return a+b

class Test_add():
  
    def setup_class(self):
        print(‘我是类级别的setup‘)

    def teardown_class(self):
        print(‘我是类级别的teardown‘)
   # 注意:setup_method和teardown_method 必须放在类中
    def setup_method(self):
        print(‘我是方法级别的setup‘)

    def teardown_method(self):
        print(‘我是方法级别的teardown‘)

    def test_1(self):
        print(‘----- 正在第一次计算 -----‘)
        assert add(1,2)==3

    def test_2(self):
        print(‘----- 正在第二次计算 -----‘)
        assert add(2,3)==5

4.模块级别:setup_module/teardown_module

def test_source():
    print(‘##### 打印功能 #####‘)

def setup_function():
    print(‘----- 开始打印 -----‘)

def teardown_function():
    print(‘----- 结束打印 -----‘)

def setup_module():
    print(‘我是模块级别的setup‘)

def teardown_module():
    print(‘我是模块级别的module‘)

def add(a,b):
    return a+b

class Test_add():

    def setup_class(self):
        print(‘我是类级别的setup‘)

    def teardown_class(self):
        print(‘我是类级别的teardown‘)

    def setup_method(self):
        print(‘我是方法级别的setup‘)

    def teardown_method(self):
        print(‘我是方法级别的teardown‘)

    def test_1(self):
        print(‘----- 正在第一次计算 -----‘)
        assert add(1,2)==3

    def test_2(self):
        print(‘----- 正在第二次计算 -----‘)
        assert add(2,3)==5

5.单独的setup和teardown

  使用单独的setup和teardown其作用和setup_function/teardown_function/setup_method/teardown_method 一样

总结上述各级别的setup和teardown如果其中setup出现异常则不会执行teardown的操作

原文地址:https://www.cnblogs.com/XhyTechnologyShare/p/12252743.html

时间: 2024-10-09 03:08:41

4.pytest中固定装置setup和teardown的相关文章

Junit测试中的setup和teardown 和 @before 和 @After 方法

这几天做Junit测试接触到了setup和teardown两个方法,简单的可以这样理解它们,setup主要实现测试前的初始化工作,而teardown则主要实现测试完成后的垃圾回收等工作. 需要注意的是Junit3中每个测试方法执行时都会执行它们,而不是一个类中执行一次,查了查资料,JUnit4版本采用注解的方式可以实现一个类只执行一次,下面看看测试代码: jar下载地址: http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22junit%22%20

Pytest系列(3) - setup和teardown的详细使用

如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 用过unittest的童鞋都知道,有两个前置方法,两个后置方法:分别是 setup() setupClass() teardown() teardownClass() Pytest也贴心的提供了类似setup.teardown的方法,并且还超过四个,一共有十种 模块级别:setup_module.teardown_module

Python 单元测试 之setUP() 和 tearDown()

setUp:表示前置条件,它在每一个用例执行之前必须会执行一次 setUp可以理解为我们需要自动化测试时,需要打开网页窗口,输入对应测试地址,这一些属于前置条件. tearDown:表示释放资源,它在每次用例执行完之后会执行一次 tearDown可以理解为我们测试完毕后,需要关闭浏览器. 以下示例演示setUp和tearDown的执行顺序: #coding:utf-8import unittestclass Xseq(unittest.TestCase): def setUp(self): pr

setUP和tearDown,setUpClass和tearDownClass

① setup():每个测试函数(方法)运行前运行② teardown():每个测试函数(方法)运行完后执行③ setUpClass():必须使用@classmethod 装饰器,所有test运行前运行一次 ④ tearDownClass():必须使用@classmethod装饰器,所有test运行完后运行一次 setUp()和tearDown()这两个方法,每次执行一个测试用例(test开头的方法),就会执行一次setUp()和tearDown(), 导致执行多个测试用例时,会反复的打开浏览器

Arduino中的setup()和loop()函数

今天看arduino的源代码,对于arduino中的setup和loop有了新的理解,可能你以前对于这俩个函数就是知道arduino是初始化,而loop是死循环,但是托若你看了Arduino的主函数你会有更加清晰的认知下面贴出arduino的main函数#include <Arduino.h> int main(void){ init(); setup(); for (;;) { loop(); if (serialEventRun) serialEventRun(); } return 0;

在CentOS中安装setup工具

在CentOS中可以使用setup配置工具很方便地配置防火墙.网络.系统服务等配置项.如果采用最小化安装CentOS的话,默认没有安装该工具.下面我们手动安装下setup工具. 1.安装setuptool# yum install setuptool 2.安装防火墙设置# yum install system-config-securitylevel-tui 3.安装网络设置# yum install system-config-network-tui 4.安装系统服务管理# yum insta

Junit中的setUp()与setUpBefore(), tearDown()与tearDownAfterClass()解析

@BeforeClass public static void setUpBeforeClass() throws Exception { } @AfterClass public static void tearDownAfterClass() throws Exception { } 1)使用@BeforeClass修饰的setUpBeforeClass()方法,在类中所有的方法执行之前执行:那么,使用@AfterClass修饰的tearDownAfterClass()方法则与之完全相反:可

pytest 用 @pytest.mark.usefixtures(&quot;fixtureName&quot;)或@pytest.fixture(scope=&quot;function&quot;, autouse=True)装饰,实现类似setup和TearDown的功能

conftest.py import pytest @pytest.fixture(scope="class") def class_auto(): print("") print("class-begin") yield print("class-end") test_autouse.py 1 import pytest 2 3 4 @pytest.mark.usefixtures("class_auto"

Mapper类/Reducer类中的setup方法和cleanup方法以及run方法的介绍

在hadoop的源码中,基类Mapper类和Reducer类中都是只包含四个方法:setup方法,cleanup方法,run方法,map方法.如下所示: 其方法的调用方式是在run方法中,如下所示: 可以看出,在run方法中调用了上面的三个方法:setup方法,map方法,cleanup方法.其中setup方法和cleanup方法默认是不做任何操作,且它们只被执行一次.但是setup方法一般会在map函数之前执行一些准备工作,如作业的一些配置信息等:cleanup方法则是在map方法运行完之后最