带有pytest和numpy.load()的TravisCI:找不到文件

时间:2018-12-11 07:33:07

标签: travis-ci pytest

我的tests/conftest.py文件中包含以下内容,用于加载numpy数组作为pytest运行的测试的固定对象:

@pytest.fixture(scope="module")
def my_fixture():

    return np.load(os.path.join(os.getcwd(), "fixture", "example.npy")

文件projectname/tests/fixture/example.npy存在。

当我从PyCharm启动测试时,此方法运行良好,但是当测试在TravisCI上运行时,出现文件未找到错误,文件路径显示为缺少tests目录,即它应该在寻找该文件的名称为/home/travis/build/username/projectname/tests/fixture/example.npy,但它正在寻找的文件名为/home/travis/build/username/projectname/fixture/example.npy,就好像该文件是从项目的主目录而不是tests子目录(假定的相对位置)开始的。

projectname/tests目录包含所有测试文件,而* .npy固定文件位于projectname/tests/fixture中。

我可以在.travis.yml文件中进行设置以配置pytest吗,以便它知道如何在调用numpy.load时找到* .npy文件吗?还是这与pytest的rootdir设置有某种关系,而该设置在TravisCI上的表现方式与从PyCharm内部运行测试时有所不同?

0 个答案:

没有答案