pytest框架笔记(十六) : fixture作为参数传入以及error和failed区别

一、前言

fixture是pytest的核心功能,也是亮点功能,熟悉掌握fixture的使用方法,pytest用起来才会得心应手

二、fixture简介

fixture的目的是提供一个固定基线,在该基线上测试可以可靠地和重复地执行。fixture提供了区别于传统单元测试(setup/teardown):

  • 有独立的命名,并通过声明它们从测试函数、模块、类或整个项目中的使用来激活。
  • 按模块化的方式实现,每个fixture都可以互相调用
  • fixture的范围从简单的单元扩展到复杂的功能测试,允许根据配置和组件选项对fixture和测试用例进行参数化,或者跨函数function、类class、模块module或整个测试会话session范围

三、fixture作为参数传入

定义fixture跟定义普通函数差不多,唯一区别就是在函数上加装饰器@pytest.fixture(),fixture命名不要用test开头,跟用例区分开,用例才是test开头的命名

fixture是可以有返回值的,如果没return默认返回None。用例调用fixture的返回值,直接就是把fixture的函数名称当成变量名称

#!encoding=utf-8
import pytest

@pytest.fixture()
def user():
    print('获取用户名')
    a = 'abc'
    return a

def test_1(user):   #自动调用user函数
    assert user =='abc'

if __name__=="__main__":
 

你可能感兴趣的:(pytest,pytest)