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