2011-08-15 24 views
12

Burun testlerini komut satırından yürütmek yerine, yerel sınama örneğine bağlantı da dahil olmak üzere tüm sınamalar için birkaç şey ayarlayan bir test koşucusu kullanıyorum MongoDB. Burun belgelerine sadece komut satırından veya giriş dizininizde bulunan bir yapılandırma dosyasından nasıl geçeceğini gösterir gibi görünüyor. Testlerinizi çalıştırmak için bir betik kullanırken --with-xunit gibi seçenekleri geçirmenin bir yolu var mı? Bunun gibiPython test komut dosyasında burun geçişi seçenekleri

cevap

8

:

import nose 

argv = ['fake', '--with-xunit'] 
nose.main(argv=argv) 

"sahte" argümanı dbw cevabı açıklandığı gibi, yürütülebilir adı için durmak eklenmelidir.

+0

bunu denedi, ama bir rapor oluşturulmadı –

+0

@Matt: Emin misin? çünkü bir projemde aynı kod parçasını kullanıyorum ve şimdi bir 'xunit' raporu oluşturmak için şimdi değiştirdim ve nosetests.xml' altında başarıyla oluşturuldu! belki bir şey özlüyorum ... – mouad

+0

Evet, bunu denedim ve bir rapor oluşturulmadı. Komut satırı ile denedim ve bir tane aldım. Üzgünüm: -/ –

16

Burun, ilk bağımsız değişkenle sinsi bir şey yapar, bu nedenle ayrıştırılmaz. Burnum sarıcı böyle bir şey yapar:

bir bonus olarak
import nose 
import sys 

argv = sys.argv[:] 
argv.insert(1, "--with-xunit") 
nose.main(argv=argv) 

bu davranışını kontrol etmek Burun argümanları kullanmak için programın müşterilerine sağlar!

+0

Çalışıyor. Teşekkür ederim. – KobeJohn

+1

Bunun daha doğru bir cevap olduğuna inanıyorum. Burun, ilk argümanla sinsi olma noktasında çok önemli bir noktadır. – munk

+5

burun sinsi değil :) Nokta argv' listesi her zaman çalıştırılabilir isimle başlar. Böylece, argv = ['--with-xunit'] 'dediğinizde, yürütülebilir dosyanın ismini 'with-xunit' olarak ayarlarsınız ve argüman iletmezsiniz. Bunu düzeltmek için, 'argv = ['fake', '--with-xunit']' – Timur

İlgili konular