2015-09-06 59 views
6

Şu anda aşağıdaki .travis.yml dosyayla ilgili bir projesi var:Bir Python proje yapısı, testleri bulmak ve çalıştırmak için Travis CI'ye benzemeli?

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

Yerel, tox düzgün yürütür ve 35 testleri çalışır, ancak Travis CI, bir 0 testler çalışır.

Diğer ayrıntılar:

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" 

Onlar da any tests bulamadık: https://travis-ci.org/neverendingqs/pyiterable/builds/78954867

Ben de dahil olmak üzere, başka yollar denedik.

Projem yapısı Like This geçerli:

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

proje/klasörleri yanlış yapılandırılmış mı?

+0

En yakın komutta sınama konumunu belirtmeyi denediniz mi? Projelerimden birinde sadece Travis CI kullanıyorum ve testleri çalıştırmak için “en seksi testler /” kullanıyorum. Tox.ini 'nosetests testleri/--with-cover --cover-package = pyiterable' ayarını yapmayı deneyin. – bnlucas

+0

Sadece denediniz - başarı yok = [ – neverendingqs

+0

@bnlucas repo yapınızı görebilir miyim? – neverendingqs

cevap

2

Klasör yapısında bir sorun yok. Run all Tests in Directory Using Nose dayalı

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 

ben --exe ( nosetests --exe --with-coverage --cover-package=pyiterable) ile nosetests çalıştırmak için tox.ini değiştirdi:

O Travis CI üzerinde çalıştırılabilir dosyalar (https://travis-ci.org/neverendingqs/pyiterable/builds/79049179 gelen günlükleri) kabul edilir gibi görünüyor. İlişkili olmayan bazı hataları düzelttikten sonra, testlerin https://travis-ci.org/neverendingqs/pyiterable/builds/79049983'u çalıştırmasını sağlayabildim!

+0

Açıklığa kavuşturmak için - TravisCI * 'nin * çalıştırılabilir olduklarını düşünmüyorlar - en azından mevcut GitHub repo'larına göre ** çalıştırılabilirler ** (herhangi bir dosyaya gidin) örneğin, [iterable.py] (https://github.com/neverendingqs/pyiterable/blob/master/pyiterable/iterable.py) ve üstte 'yürütülebilir' yazdığını görürsünüz. Bazen yürütülebilir dosyalar doğru çağrıdır, ama sanırım bir shebang ('#!/Usr/bin/env python' veya benzeri) olmadan çalışacağını sanmıyorum - bu yüzden ikisini de istersiniz (shebang ve çalıştırılabilir) izinler) veya ikisi de. – dwanderson

+0

Benim yorumum, Python dosyalarını çalıştırılabilir gerektiğinde, '--exe' etiketi gitmek için yoldur - iyi bulmaktır! – dwanderson