@pytest.fixture与@pytest.mark.parametrize结合实现参数化

背景:测试数据既要在fixture方法中使用,同时也在测试用例中使用

使用方法:在使用parametrize的时候添加"indirect=True"参数。pytest可以实现将参数传到fixture方法中,也可以在当前测试用例中使用。

原理:参数indirect=True时,pytest会把argnames当做函数去执行,将argvalues作为参数传入到argnames这个函数里。

实现demo:

通过上面的用例可以看出,当参数indirect=True时,会将name_list作为参数传入login_fixture的方法中并将通过return将结果返回,当调用login_fixture方法时可以获取到login_fixture方法的返回值,并当做test_login测试用例的参数生成多条测试用例

参考博客:https://www.cnblogs.com/Small-lucky/p/15572767.html

pytest框架中parametrize、fixture、request怎么混合使用?

https://blog.csdn.net/jjhhggg/article/details/127326530  这里是复杂用法,传多组参数看这里。

posted @ 2022-12-29 20:58  Chaman囍  阅读(270)  评论(0编辑  收藏  举报