2014-12-25 15 views
5

Jeneratör oluşturma senaryosunu denemeye çalışıyorum. Jeneratörümde, belirli bir istemi doğru olarak döndürürse bir alt jeneratörü çağırırım. Ancak, bu composeWith() için çağrıldığını iddia etmek istiyorum. Ve sanırım sorun benim becerilerimden çok, yeoman dokümanlar test etmekten daha iyi. Fakat bunun nasıl yapılacağına dair hiçbir fikrim yok. Anlıyorum ki bir casus ve bir saplamana ihtiyacım var. Ancak, dokümanlar sadece yeoman-jeneratörü için işlevler ve testlerin bir listesini veriyorlar (sadece adımlarını çoğaltmaya çalıştım, ama çoğunlukla her şey için mankenleri kullanıyorlar ve sadece alt-jeneratörü kullanmam gerekiyor).Test yeoman'ın yazımı

Herhangi bir yardım gerçekten takdir edilecektir. Teşekkür ederim.

cevap

5

Bu noktada belgelerin eksik olduğunu kabul ediyorum ve bunu geliştirebiliriz.

Ben de `('mocha-sinon')` ve değişim gerektiren zorunda kaldı
var generators = require('yeoman-generator').generators; 
var assert = require('yeoman-generator').assert; 

before(function (done) { 
    this.spy = sinon.spy(); 
    var Dummy = generators.Base.extend({ 
     exec: this.spy 
    }); 

    helpers.run('your/generator') 
     .withGenerators([ 
      [Dummy, 'foo:bar'] 
     ]) 
     .on('end', done); 
}); 

// Then in your assertions 
it('run the sub-generator', function() { 
    assert(this.spy.calledOnce); 
}); 
+1

'sinon.spy: Burada

denir Eğer alt jeneratör test etmek için bir casus olarak nasıl kullanılacağının basit bir örnek Çalışması için this.sinon.spy '' e. “Sinon” un kapsamına girmenin birçok yolu vardır, bu yüzden OP'nin farklı bir kurulumu olabilir. – maxwellb

İlgili konular