python-pytest执行顺序
关于pytest框架执行顺序是:pytest默认是按照字母来执行执行顺序
import pytest class Test_base(): def setup_class(self): print("------->setup_class") def teardown_class(self): print("------->teardown_class") def setup(self): print("------->setup_method") def teardown(self): print("------->teardown_method") def test_1(self): print('Test_1') def test_2(self): print('Test_2') def test_3(self): print('Test_3') assert 2 == 1 + 2 #跳过测试函数:条件、备注 @pytest.mark.skipif(condition=2 > 1, reason="跳过该函数") def test_4(self): print('Test_4') #标记失败函数:条件、备注 @pytest.mark.xfail(condition=2 > 1, reason="标记失败该函数") def test_5(self): print('Test_5') #函数参数化:argnames参数名、 argvalues参数对应值,类型必须为list #@pytest.mark.parametrize("a",[3,6]) #@pytest.mark.parametrize("a,b",[(1,2),(0,3)]) argvalues=[] @pytest.mark.parametrize("argnames", argvalues) def test_6(self,argnames): print('Test_6') #自定义标签 @pytest.mark.shuzf def test_shuzf(self): #pdb.set_trace() # 设置断点 print('shzuf') if __name__ == '__main__': pytest.main(['-s', 'test_demo1.py'])
python结合参数化执行顺序: 参数化函数pytest_generate_tests在 函数fixture_test之前
import pytest import time test_case=['a','b','c'] def pytest_generate_tests(metafunc): ids=[] if 'parameters' in metafunc.fixturenames: for case in test_case: ids.append(case) metafunc.parametrize('parameters',test_case, ids=ids, scope='function') print('在用例之前,在setup之前:',time.time()) print('测试用例是:',metafunc.function.__name__) @pytest.fixture(scope="session", autouse=True) def fixture_test(): print("\nsetup 用例开始执行:",time.time()) yield print("\nteardown 所有用例执行完毕")
class TestCollection(): def test1(self,parameters): print(parameters,id(parameters)) if __name__ == '__main__': pytest.main(['-s', '0629.py'])
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人