我最近发现了如何在Python中导入单元测试模块。作为解决方案,我使用:
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from Dev.test import someclass
在Pycharm中运行时,这很好,我得到了预期的输出。但是,当我从终端运行时,会遇到一个错误:
ImportError: No module named Dev.test
我有初始文件,它们应该在哪里,但我迷路了,为什么这是在Pycharm工作,但不是从终端。我没有在pycharm中更改我的路径或任何内容,因为这段代码应该可以在其他机器上以最小的修改运行。你知道为什么会发生这种情况吗?我能做些什么来解决它?
我的文件夹结构如下
-Current
-Dev
-__init__.py
-test
- __init__.py
-someclass.py
-Tests
-__init__.py
-someunittest.py
我试过从主文件夹运行someUnitTest,也试过使用完整的路径,但它只能在pycharm中运行。
最佳答案
sys.path.append(os.getcwd()[:os.getcwd().index('Dev')])
我在进口产品中加了这个,似乎解决了这个问题。然而,这似乎不是一个正确的方法,它现在就可以了。