6

我目前有一个包含以下.travis.yml文件的项目:

language: python
install: "pip install tox"
script: "tox"

在本地,tox正确执行并运行 35 个测试,但在 Travis CI 上,它运行0 个测试

更多细节:https ://travis-ci.org/neverendingqs/pyiterable/builds/78954867

我还尝试了其他方法,包括:

language: python
python:
  - "2.6"
  - "2.7"
  - "3.2"
  - "3.3"
  - "3.4"
  - "3.5.0b3"
  - "3.5-dev"
  - "nightly"
# also fails with just `nosetest` and no `install` step
install: "pip install coverage unittest2"
script: "nosetests --with-coverage --cover-package=pyiterable"

他们也找不到任何测试

我的项目结构是这样的:

- ...
- <module>
- tests (for the module)
- ...

项目/文件夹的结构是否不正确?

4

1 回答 1

2

文件夹结构没有任何问题。

看起来 Travis CI 上的文件被认为是可执行文件(来自https://travis-ci.org/neverendingqs/pyiterable/builds/79049179的日志):

nosetests --verbosity=3
nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$']
nose.selector: INFO: /home/travis/build/neverendingqs/pyiterable/LICENSE.txt is executable; skipped
nose.selector: INFO: /home/travis/build/neverendingqs/pyiterable/pyiterable/iterable.py is executable; skipped
nose.selector: INFO: /home/travis/build/neverendingqs/pyiterable/readme.md is executable; skipped
nose.selector: INFO: /home/travis/build/neverendingqs/pyiterable/setup.cfg is executable; skipped
nose.selector: INFO: /home/travis/build/neverendingqs/pyiterable/tox.ini is executable; skipped
nose.selector: INFO: /home/travis/build/neverendingqs/pyiterable/tests/test_iterable.py is executable; skipped

我更改tox.ininosetests使用--exe( nosetests --exe --with-coverage --cover-package=pyiterable) 运行,基于使用鼻子运行目录中的所有测试。在修复了一些不相关的错误之后,我能够让测试运行@https ://travis-ci.org/neverendingqs/pyiterable/builds/79049983

于 2015-09-06T23:12:45.350 回答