使用docker从tox运行pytest时,travis-ci上的“文件未找到”

时间:2017-12-29 07:15:20

标签: docker docker-compose travis-ci pytest tox

我正试图通过travis-ci运行我的测试,但我收到了 “文件未找到测试”错误。当我使用相同的命令运行本地时一切正常,但在travis我收到此错误。我认为它是因为我的项目根目录中的测试文件夹位于其他目录的某个地方 - 在travis copy github repo的目录中。

我在tox.ini中尝试此设置,但没有一个帮助:

commands = py.test $TRAVIS_BUILD_DIR/tests {posargs}

passenv = TRAVIS_BUILD_DIR
commands = py.test $TRAVIS_BUILD_DIR/tests {posargs}

commands = py.test {env:TRAVIS_BUILD_DIR:.}/tests {posargs}

我的设置:

我的.travis.yml

sudo: required

language: python

services:
  - docker

script:
  - docker-compose run tox

我的docker compose file

version: '2'

services:
  db:
    image: postgres
  tox:
    build: .
    depends_on:
      - db
    volumes:
      - ".:/src:ro"

我的tox.ini

[tox]
envlist = {py27}-{django18,django19,django110,django111},{py35}-{django18,django19,django110,django111,django20}
skipsdist = {env:TOXBUILD:false}

[testenv]
sitepackages = False
deps=
    pytest==2.9.2
    pytest-capturelog==0.7
    pytest-django==2.9.1
    psycopg2==2.7.3.2
    pytest-pep8==1.0.6
    freezegun==0.3.9
    pytz==2017.3

    django18: Django>=1.8,<1.9
    django19: Django>=1.9,<1.10
    django110: Django>=1.10,<1.11
    django111: Django>=1.11,<2.0
    django20: Django>=2.0,<2.1
commands = py.test tests {posargs}

我的pytest.ini

[pytest]
addopts=-l -q --capture=no
pep8ignore = E501
norecursedirs = .robe .idea
python_files = tests.py test_*.py
DJANGO_SETTINGS_MODULE = test_app.settings

我的dockerfile

FROM themattrix/tox

0 个答案:

没有答案