2017-10-13 45 views
0

我有几个单元测试,这是我在Python 2.7中写道。 (在PyCharm)
所有这些测试运行的本地就好了。但是,我试图在Jenkins自动化服务器上​​运行它们。导入错误:Python的单元测试,在詹金斯

的问题是,在詹金斯运行时,我得到:
“导入错误:无法导入测试模块:test_one。”
我相信这是因为在该测试中的一个导入,它位于层次结构上方的几个级别。 (参见下面的层次)

  • 模块
    • JIRA
      • jira_module #FILE要导入
  • unit_tests
    • test_one

所以,test_one包含行“进口modules.jira.jira_module为JM”

但在詹金斯在命令行显然不喜欢用点的路径。有谁知道如何解决这个问题?我尝试过使用runpy-run_path,但那也不起作用。

回答

0

对于该订单工作

import modules.jira.jira_module as jm 

模块封装modules必须位于内PYTHONPATH

正确的做法是根目录(其中包含modulesunit_tests文件夹)将在其中开始测试。通常在项目根的引导文件被创建到运行测试(runtests.pyruntests.sh或类似)。

如果你不知道如何做到这一点,或者觉得这很困难,你可以调整将根文件夹添加到sys.path的路径test_one.py。但这是丑陋的,不对的。