我正在创建一个包含测试文件的项目。在测试文件中,我需要导入类文件。我的项目结构如下:
|project_name
|--main.py
|--ClassFolder
|----bla.py
|--TestFolder
|----test_bla.py
例如,我将把bla.py导入test_bla.py。我使用了test_bla.py中的代码:
import sys
import unittest
sys.path.append("../")
from ClassFolder.bla import bla
当我在本地调用测试文件时,这很好用。但是,如果我远程调用它,它会给我一个错误:
Traceback (most recent call last):
File "/home/jj/PycharmProjects/project_name/TestFolder/test_bla.py", line 4, in <module>
from ClassFolder.bla import bla
ImportError: No module named ClassFolder.bla
我认为问题是,当我远程调用它时,根目录(“./”)不在project_name / TestFolder /中。命令“..”将我引导到当前文件夹上方的文件夹。
任何帮助将不胜感激!
答案 0 :(得分:0)
似乎是类路径问题。远程执行脚本时,远程用户ID帐户路径未正确设置。因此,首先在执行python脚本的服务器中为此用户帐户设置PYTHONPATH
变量,并为该帐户设置path
变量。
答案 1 :(得分:0)
我改变了单元测试的工作方式。我没有远程调用测试,而是为它创建测试对象并在本地调用它