pytest、pytest.mark和pytest.fixture的用法

本文介绍了pytest的基本使用规范,包括测试函数的命名规则、运行选项-v和-s的作用。重点讲解了pytest.mark的功能,如skip、skipif、parameterize等,以及pytest.fixture的用法,对比了它与setup/teardown的区别,并阐述了fixture的scope和autouse属性。此外,还提到了yield在fixture中的作用,以及如何在测试中传递和使用fixture返回的值。
摘要由CSDN通过智能技术生成

1.pytest的格式:模块名用以test开头或者结尾,类名为Test开头,函数名以test开头,同时里面不能含构造函数(__init__),如果有继承,建议用setup和teardown。

2.运行:-v: 表示的是详细日志,-s:表示运行过程中打印print的文本,__file__:表示当前文件

if __name__=="__main__":
    pytest.main(["-vs",__file__])

3.pytest只会运行以test开头的函数和方法。

import pytest

class Test_a():
    def test_1(self):
        print("这是test1")

    def test_2(self):
        print("这是test2")


    def mytest(self):
        print("这是mytest")

def yourtest():
    print("这是yourtest")

def test_3():
    print("这是test_3")


if __name__=="__main__":
    pytest.main(["-vs",__file__])

#运行结果:
# test_Q.py::Test_a::test_1 这是test1
# PASSED
# test_Q.py::Test_a::test_2 这是test2
# PASSED
# test_Q.py::test_3 这是test_3
# PASSED

4.pytest.mark主要用的方法是pytest.parameterize。

4.1pytest.mark的skip和skipif的用法,skip表示强制跳过,skipif表示条件成立则跳过

import pytest
a=1
b=2
class Test_a():
    def test_1(self):
        print("这是test1")
    @pytest.mark.skip("reason--->不运行") #skip,原因:不运行
    def test_2(self):
        print("这是test2")
    @pytest.mark.skipif("a<b")  #如果a<b,skip
    def test_3(self):
        print(
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值