2013-08-05 20 views
6

çerçevesinde nosetest piton eklemek, hariç tutmak ve sırasıyla/dahil hariç ve uyumlu olabilir testler için maç regex için bazı komut satırı seçenekleri vardır. Ancak, düzgün çalışmıyor gibi görünmüyorlar.burun çerçeve komut satırı regex desen eşleştirme çalışmıyor (-e, -m, -i)

[[email protected]_redhat test]$ nosetests -w cases/ -s -v -m='_size' 
---------------------------------------------------------------------- 
Ran 0 tests in 0.001s 
OK 
[[email protected]_redhat test]$ grep '_size' cases/test_case_4.py 
    def test_fn_size_sha(self): 

Regex'in burun çerçevesinin anlamlarını eşleştirmesinde bir sorun var mı?

cevap

10

Nosetests' -M argüman dizinleri, dosya, sınıfları ve fonksiyonları eşleştirmek için kullanılır. (See the nose docs explanation of this parameter) Sizin durumunuzda, test dosyanızın (test_case_4.py) dosya adı -m eşleşme ifadesiyle (_size) eşleşmiyor, bu yüzden asla açılmaz.

Sen fark edebilirsiniz

olduğunu, test dosyasını açmak için burun zorlamak, eğer olacak çalıştırmak sadece belirtilen testi: Genelde

nosetests -sv -m='_size' cases/test_case_4.py 

, ben testlerin belirli test veya alt kümelerini eşleştirmek istediğiniz ı Varsayılan burun yüklemesinde bulunan --attrib plugin kullanın. Bazı modellerle eşleşen testleri hariç tutmak da isteyebilirsiniz. Regexp'i belirtirken

+0

Merhaba @dbw, Cevapladığınız için teşekkürler. Ancak ben bunu denedim ve bu ben '[k @ e test] $ grep '_size' vakaları/test_case_04_inv_validation.py def testi_fn_size_sha (kendi): [k @ e test] $ nosetests -sv -m = '_size' cases/test_case_04_inv_validation.py 0 0 Testler Tamam ' – kbang

+0

Test_avi_size_sha() bir TestCase sınıfında mı? Öyleyse, bu sınıf aynı eşleşme kurallarına tabidir, bu nedenle -m ifadesiyle eşleşmezse reddedilir. – dbn

1

Burun olasılıkla dizesinin başında bir maç gerektirir Python'un re.match, veya eşdeğer kullanıyor. _size eşleşmiyor, çünkü test_fn_size_sha işlev adı, regex _size ile başlamıyor.

baştan eşleşen bir regex kullanarak deneyin:

nosetests -w cases/ -s -v -m='\w+_size' 
+0

.formating berbat. – kbang

+0

hmmm .. bu iyi bir düşünce @voithos. Ancak [kiran @ Test my_redhat] $ nosetests -w durumlarda/-s-v-m = '\ + _size w' Ran [testi my_redhat kiran @] OK 0.001s 0 testler $ nosetests - durumda ağırlık/-s-v -m = '_ boyutu' 0.001s Tamam [kiran @ Test my_redhat] $ grep _size durumlarda/test_case_size.py def _size_sha (kendi kendine) 0 testleri Ran: temel olarak ' – kbang

+0

... işe yaramadı – kbang

2

kaldırmayı deneyin '=':

$ nosetests -w cases/ -s -v -m '_size' 

veya tutmak '=' ve --match yazacağız:

$ nosetests -w cases/ -s -v --match='_size' 
İlgili konular