python - 在 python (pytest) 测试中使用资源文件
问题描述
有人能告诉我在 pytest 中处理资源文件的正确方法是什么吗?
我习惯在包(src)目录下创建一个资源目录,在测试分支下创建另一个
root---package---resource_dir
| |-file1.py
| |-file2.py
|
|-test-- resource_dir-
| |-config1.csv
| |-config2.csv
|-test1.py
|-test2.py
如果我想从我的测试中访问这些文件,那么 pythonic 的方法是什么?到目前为止,我一直在使用相对文件路径,但该解决方案并不是很好。有类似Java资源解决方案的解决方案吗?
解决方案
我会将根文件夹和 test/resource_dir 添加到 sys.path。无论您的测试文件夹当前的目录结构如何,这将允许您始终以完全相同的方式包含资源。
将根文件夹添加到 sys.path 还有助于在测试运行程序和正常执行之间建立一致性,并允许您的测试直接引用来自root/package/resource_directory
.
添加test/resource_dir
到 sys.path 允许测试直接引用来自test/resource_dir
.
有关如何设置它的一些示例代码,请参阅此答案lib
上的选项 B,但将文件夹替换为resource_dir
.
推荐阅读
- php - Woocommerce 删除按钮删除错误的产品
- css - 如何裁剪不适合的网格块内的文本
- python-3.x - 如何从对话框中获取输入回到treeview pyqt5 python 3
- sql - SQL Server - 将未知数量的行值更改为列名
- c++ - UpdateLayeredWindow() 和 OpenGL 上下文
- python - 如何将 request.user 导入 djnago 中的 TemplateVew
- sql - 将 INSEET 添加到 SELECT QUERY 以查找缺失值
- flutter - 在 Flutter 中加载特定 URL 时关闭 Webview
- python - Python代码中的Pycharm函数调用不返回任何内容
- c# - C#如何将Jarray添加到列表中
>