pytest的fixture学习三

Fixtures: 依赖注入的典型示例

Fixtures允许测试函数更容易针对特定的预初始化应用对象接受和工作,而不必担心import/setup/cleanup这些细节。这是依赖注入的一个典型示例,fixtures函数充当注入器,测试函数使fixture对象的使用者。

conftest.py: 共享fixture函数

如果在完成测试用例期间,发现多个测试文件都需要同一个fixture函数,那么可以移动该fixture函数到conftest.py文件中。不需要再使用fixture函数的测试文件中import。fixture函数的查找从测试类开始,再测试模块,然后conftest.py文件,最后是内置或第三方插件。

也可以使用conftest.py文件来完成local per-directory plugins。

Sharing test data共享测试数据

如果要使文件中的测试数据对测试用例可用,那么执行此操作的一种好方法是将这些数据加载到fixture中以供测试使用。 这利用了pytest的自动缓存机制。

另外一种好的方法是在测试文件中添加数据文件夹。还有一些公共插件可用来帮助管理测试的这个方面,如pytest-datadirandpytest-datafiles.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。