2017-01-31 26 views
10

Mocha test durumlarında kancadan önce zaman aşımı değerini ayarlamak istiyorum. Bunu, mocha'nın komut satırına -t 10000 ekleyerek yapabileceğimi biliyorum, ancak bu her test vakası zaman aşımı değerini değiştirecektir.Mocha'da kancalamadan önce zaman aşımı nasıl ayarlanır?

describe('test ',() => { 

    before((done) => { 
     this.timeout(10000); 
     ... 

o tanımlı değil this.timeout(1000)timeout Bu çizginin şikayet edecek: Ben programlı aşağıda aşımını değiştirmek için bir yol bulmak istiyorum benim koddur. Kanca önce zaman aşımı nasıl ayarlanır.

cevap

23

Sen bunu describe tüm testleri etkileyecek istiyorsanız describe bloğunda yerine çengel zaman aşımı ayarlamak gerekir.

describe('test', function() { 
    this.timeout(10000); 

    before(...); 

    it(...); 
}); 

size bir ok kullanamazsınız Mocha biletlerinde geri aramasında this kullanmak isteyen tüm yerlerde: Ancak, daha doğrusu bir ok fonksiyonu daha describe geri arama olarak "normal" fonksiyonunu kullanmak gerekir işlevi. Mocha tarafından ayarlanabilen kendi this değerine sahip bir "normal" işlev kullanmalısınız. Bir ok işlevi kullanırsanız, Mocha'nın olmasını istediği ve kodunuzun başarısız olacağı this değeri olmayacaktır.

Sen senin önce kanca için farklı bir zaman aşımı ayarlamak ancak dikkate alınması gereken iki şey vardır olabilir: çok bunu bir ok işlevi yerine "normal" işlevini kullanmanız gerekir Burada

  1. :

    before(function (done) { 
        this.timeout(10000); 
    
  2. Bu yalnızca before kanca için bir zaman aşımı teşkil edeceğini ve testleri etkilemeyeceğini.

+0

Mükemmel cevap :) – greuze

İlgili konular