python - 单元测试:从任何目录调用测试脚本
问题描述
我试图让我的单元测试脚本无论从哪里调用它们都可以工作,并且现在已经研究了十几个关于相关导入问题的问题。但是与 unittest 模块结合使用的相对路径似乎增加了一些额外的复杂性。
我的目录结构是这样的:
importtest
├── importtest
│ ├── importtest.py
│ └── __init__.py
└── test
├── data.txt
├── importtest_test.py
└── __init__.py
__init__.py
文件为空,importtest.py
包含
def func(filename):
with open(filename) as f:
return True
并importtest_test.py
包含
import unittest
from importtest import importtest
class Test(unittest.TestCase):
def test(self):
self.assertEqual(importtest.func('data.txt'), True)
这在我py -m unittest test/importtest_test.py
从项目的根文件夹(最顶层的importtest
文件夹)执行时有效。但它不适用于任何其他目录。
为什么会这样,我该如何解决?
解决方案
推荐阅读
- python - PIL 和 Pillow 安装程序在未安装的情况下突然关闭 (Windows 10)
- php - 更好地使用 Wordpress 主题 Mod
- php - Array_push 不生成新键,而是替换当前值
- node.js - 错误 eslint@5.6.0:引擎“节点”与此模块不兼容。尝试创建反应应用程序时
- unity3d - Google Play 游戏服务登录时应用程序崩溃
- javascript - Twilio:无法连接到 Live:信号连接已断开
- javascript - Next.js 中具有嵌套组件路由渲染功能的等效路由?
- curly-braces - Magento 2标签翻译显示大括号
- c++ - 如何修复 xychart.cpp 中的“index < m_series->count()”错误?
- sql - SQL 将两个表合并为下两个表,其中每个表具有重复的不同值