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

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

你可能感兴趣的:(python)