2016-02-09 19 views
8

Mocha testlerim gayet iyi çalışıyordu, ancak yeni bir modül eklediğimde (ve test), mocha tüm test dosyalarımı çalıştırmayı durdurdu ve şimdi sadece yeni testi çalıştırıyor. Sadece bir test dosyası çalıştıran Mocha

Testim komut:

env NODE_PATH=$NODE_PATH:$PWD/src mocha --recursive --compilers js:babel-core/register src/**/*.test.js --require babel-polyfill 

Projem bu gibi yapılandırılmıştır:

/src 
    /components 
    /component-name 
     index.js 
     component.js 
     component-name.test.js 
     style.scss 
    /util 
    /module-name 
     index.js 
     module-name.test.js 
    /some-other-module 
    index.js 
    some-other-module.test.js 

Ben /components ve /util ve her şeyi çeşitli testler iyi çalıştı, ama vardı ben /src içine bir modül yerleştirdiğinizde İçinde .test.js dosyası bulunan (/some-other-module gibi), Mocha yalnızca bu sınama dosyasını çalıştırır ve diğerlerinin hiçbirini çalıştırmaz. Eğer Mocha geçmek desen etrafında

cevap

13

koyun tek tırnak sizin kabuk tarafından yorumlanır önlemek için: Ne olur tırnak olmadan, kabuk o desen genişletmeye çalışır ve başarılı olur, yani 'src/**/*.test.js'

. Genişleme sonucu src/some-other-module/some-other-module.test.js ve bu Mocha'ya geçmiştir.

Bu dosyayı oluşturmadan önce, kabuk yine de deseni genişletmeye çalıştı ancak başarılı olmadı ve deseni olduğu gibi bıraktı. Yani Mocha, Mocha'nın bir glob olarak yorumladığı src/**/*.test.js'u aldı.

Bash içinde, globstar seçeneği açık değilse, **, *'a eşdeğerdir.

+2

Teşekkür ederiz. Bu mükemmel çalışıyor. “**” çalışacağım çünkü benim kabuğumda çalışıyor (ZShell), fakat 'package.json' betikleri Bash ile çalışıyor. – SimpleJ

+0

'mocha' yapılandırmasında desen nasıl ayarlanır? – Green

İlgili konular