2013-10-05 29 views
6

nose ile oynuyor ve cython ile birleştirmeye çalıştığımda, istediğim gibi çalışmasını sağlayamıyorum. Kod şöyle düzenlenmiştir:Cython kaynak dosyalarını ve testlerini düzenleme (nosetest'ler ile)

. 
├── setup.py 
└── src 
    ├── calc 
    │   ├── factorial.py 
    │   ├── __init__.py 
    │   └── tests.py 
    └── cycalc 
     ├── tests.py 
     └── triangle.pyx 

tests.py her biri 2 testleri içeren, tek bir başarılı bir başarısız olur. setup.py nosetests'un çalıştırılmasının sonucu yalnızca calc/tests.py'un çalışmasıdır. Bu çalışmadan sonra nosetests3 src/cycalc ise, cycalc/tests.py'daki iki test çalıştırılır. Ancak, tüm derleme dosyalarını temizlerseniz başarısız olur, çünkü cycalc/triangle.pyx paylaşılan bir lib'a yüklenmemiş.

Sonra yukarı anda cycalc/tests.py setup.py nosetests tüyo dosyasını src/cycalc/__init__.py ekleyerek çalıştı ancak zorunlu modülü bulamazsa, bu src yerleştirildi.

Cython kaynağımı ve testlerimi setup.py nosetests'un gereksinim duyduğu her şeyi bulmasını nasıl sağlayabilirim?

cevap

1

Testlerinizi otomatik olarak çalıştırmak için nose numaralı telefondan tüm testlerinizi içeren testler adlı bir klasöre eklemelisiniz. Bunun gibi:

. 
|-setup.py 
|-src 
|---calc 
|------factorial.py 
|------__init__.py 
|---cycalc 
|------triangle.pyx 
|------__init__.py 
|-tests 
|---__init__.py 
|---test_calc.py  
|---test_cycalc.py 

Bu şekilde, her iki test de aynı yoldaki her şeyle otomatik olarak çalıştırılacaktır. Yapılmış dosyaları kaldırırsanız, testler tekrar çalışmaya başlamadan önce python setup.py build'u çalıştırmanız gerekir.

İlgili konular