fixture
特点:
命令灵活:对于setup,teardown可以省略
数据共享:在conftest.py配置里写方法可以实现数据共享,不需要import导入,可以跨文件共享
scope的层次及神奇的yield组合相当于各种setup和teardown
实现参数化
应用
场景:
测试用例执行时,有的用例需要登录才能执行,有些用例不需要登录。
setup和teardown无法满足这种情况,但是fixture可以。默认scope(范围):function
步骤:
导入pytest
在登录的函数上添加@pytest.fixture()
在要使用的测试方法中传入(登录函数名称)
不传入的就不登录,直接执行测试方法。
fixture作用域
ession是在整个项目中只执行一次的代码
yield关键字
场景:
你已经可以将测试方法【前要执行的或依赖的】解决了,那测试方法后销毁清除数据要如何进行?
解决:
通过在fixture函数中加入yield关键字,yield是调用第一次返回结果,第二次执行它下面的语句返回。
步骤:
@pytest.fixture(scope=module)
在登录的方法中加yield,之后加销毁清除的步骤
数据共享
场景:
你与其他工程师合作一起开发时,公共的模块要在不同文件中,要在大家都访问的到的地方
解决: