首页 > 解决方案 > 单元测试:从任何目录调用测试脚本

问题描述

我试图让我的单元测试脚本无论从哪里调用它们都可以工作,并且现在已经研究了十几个关于相关导入问题的问题。但是与 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文件夹)执行时有效。但它不适用于任何其他目录。

为什么会这样,我该如何解决?

标签: pythonimportpython-importrelative-pathpython-unittest

解决方案


推荐阅读