TravisCI с pytest и numpy.load (): файл не найден - PullRequest
0 голосов
/ 11 декабря 2018

В моем файле tests/conftest.py есть следующее, используемое для загрузки массива в виде объекта фикстуры для тестов, запускаемых 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, чтобы он знал, как найти * .npyфайлы, как я ожидаю при звонке на numpy.load?Или это как-то связано с настройкой pytest rootdir, которая в TravisCI ведет себя иначе, чем когда я запускаю тесты из PyCharm?

...