2015-09-06 1 views
6

私は現在、次の.travis.ymlファイルを含むプロジェクトがあります:ローカルTravis CIがテストを見つけて実行するために、Pythonのプロジェクト構造がどのようになっていますか?

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

を、toxが適切に実行され、35回のテストを実行しますが、トラヴィスCI上で、それは0テストを実行します。

詳細は:

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" 

彼らはまた、any testsを見つけることができませんでした:https://travis-ci.org/neverendingqs/pyiterable/builds/78954867

私も含め、他の方法を試してみました。

マイプロジェクト構造がLike This次のとおりです。

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

は間違って構造化プロジェクト/フォルダはありますか?

+0

nosetestコマンドでテストの場所を指定しようとしましたか?私は自分のプロジェクトの一つでTravis CIを使うだけで、テストを実行するには 'nosetest tests /'を使います。あなたのtox.iniを 'nosetests tests/--with-coverage -cover-package = pyiterable'に調整してみてください – bnlucas

+0

ちょうど試しました - 成功しません= [ – neverendingqs

+0

あなたのrepo構造は見えますか? – neverendingqs

答えて

2

フォルダ構造に問題はありませんでした。 Run all Tests in Directory Using Noseに基づいて、

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 

は私が --exenosetests --exe --with-coverage --cover-package=pyiterable)と nosetestsを実行するために tox.iniを変更:

それはトラヴィスCI上のファイルが実行可能ファイル(https://travis-ci.org/neverendingqs/pyiterable/builds/79049179からのログ)と考えられているように見えます。関連しないエラーを修正した後、テストを@https://travis-ci.org/neverendingqs/pyiterable/builds/79049983にすることができました!

+0

明確にするために、TravisCI *は実行可能だとは思っていません。**現在のGitHubリポジトリによれば**実行可能です**例えば、[iterable.py](https://github.com/neverendingqs/pyiterable/blob/master/pyiterable/iterable.py)にあり、上部に「実行可能ファイル」と表示されています)。時には実行可能ファイルが正しい呼び出しですが、シバンなしでは実行できないと思います( '#!/ usr/bin/env python'など) - 私はシバンと実行可能ファイルパーミッション)かどちらでもない。 – dwanderson

+0

私のコメントは、実行可能なPythonファイルが必要なときには、 '--exe'タグが行く方法です - 良い発見! – dwanderson