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.