Python Travis-CI:在测试代码中导入主代码

时间:2017-12-26 14:31:15

标签: python travis-ci python-unittest

我在python中编写一个简单的包。在根目录中,我的结构当前是,

  • my_package
    • 初始化的.py
    • main_code.py
  • 测试
    • 初始化的.py
    • test_main_code.py

我想从test_main_code.py中的main_code.py导入所有函数。为实现这一目标,我做了

import sys
import os
sys.path.append(os.path.dirname(os.path.realpath(__file__)) + '\..' + '\my_package')
from main_code import *

这在我的系统上顺利运行。但是当我将代码推送到github并且测试在travis-ci上运行时,所有测试都会失败并返回NameError。它说给定的函数名称没有定义。我如何确保测试也在travis-ci上运行?

1 个答案:

答案 0 :(得分:0)

如果您在其他地方运行测试,路径可能会有所不同,因此我不相信任何与特定位置相关的导入。 无论如何,我总是尝试从项目的根目录运行测试

然后,您可以尝试:

from my_package.main_code import *