pytest 进阶

一、使用fixtrue实现部分前后置
@pytest.fixture(scope=None,autouse=False,params=None,ids=None ,name=None)
1.scope:作用域
function:在函数之前和之后执行 
1.手动调用的方式是在测试用例的参数里面加入fixture的名称。
2.如果说fixtrue有通过return或yield返回值的话,那么可以把这个值传递到测试
用例当中。值是通过固件的名字传递的。
class:在类之前和之后执行
1.手动调用的方式是在类的上面加上
@pytest.mark.usefixtures("exe_database_sql")装饰器调用。
package/session:在整个项目会话之前和之后执行。
1.一般会结合conftest.py文件来实现

2.autouse:自动执行。默认是False.
1 @pytest.fixture(scope="function",autouse=True)
2 def exe_database_sql():
3 print("执行SQL查询")
4 yield
5 print("关闭数据库连接")

3.params:实现参数化
1.如何把值传到Fixtrue是通过在fixtrue函数的参数里面加入request来接收参数。然后
通过request.param来取值。(这里的param没有s)
1 @pytest.fixture(scope="function",autouse=False,params=read_yaml())
2 def exe_datab

你可能感兴趣的:(Pytest,pytest)