2012-03-14 17 views

cevap

119

Hem Jasmine hem de Mocha'da testler yaptım. İlk olarak, anahtarlama nispeten kolaydır. Temel describe ve it BDD kalıbı aynıdır. İddialarınızı nasıl yaptığınızı değiştirmeli ve asenkron testler için farklı bir arayüze geçmelisiniz. Genel olarak karşılaştırılabilir. Mocha'nın asenkron arabirimi çok daha basit ve daha tutarlıdır. Testler ve kurulum senkronize veya asenkronize olabilir, bu da harikadır. Bu, TJ Holowaychuck'un epik bir kod şairi olması, Mocha'yı denemek için iyi sebeplerdir.

Yasemin eşleştiricilerinin özellikle jasmine-jquery eklentisiyle eşleştirildiğinde daha kolay okunması ve daha zarif olduğunu düşünüyorum. Mocha genellikle bağımsız bir test kütüphanesi ile eşleştirilir, genellikle tarayıcıda test yapıyorsanız ya da node-only testi için should.js varsa chai.js. Chai'nin assert.equal() arayüzü ile mutluyum ama Jasmine tarzı expect($("#central_errors").html()).toContain("must provide a name"); bana göre daha zarif görünüyor. Ben iyi çalışmadığı için dot-sınırlandırılmış cümleler ile chai.js expect(42).to.be.above(41) stil arabiriminin bir hayranı değilim.

Sonuç olarak, bu bir kişisel tercih sorusudur ve bir günlüğüne sadece Jasmine yerine Mocha testleri yazmanızı ve nasıl hissettiğini görmenizi şiddetle tavsiye ediyorum. Tamamen değerli bir yatırım, Jasmine'e sadık kalmaya karar verseniz bile, ilk elden bilgi birikimine sahip olacaksınız ve Jasmine'in çözdüğü bazı problemleri çözmenin başka yollarından haberdar olacaksınız. Denedim ve kısmen Mocha ile yapışıyorum çünkü TJ'ye bahis oynamak iyi bir bahis, ama aynı zamanda Jasmine de olgun, sağlam ve geniş çapta benimsenen bir kütüphanedir.

+0

Teşekkürler Peter! Sadece aradığım gözlemler :) – LupineDev

+7

Hey Peter, harika bir yazı! Sadece Chai ile eklemek için, Jasmine tarzı ("bdd") bir arayüze de sahip olabilirsiniz: http://chaijs.com/code/expect.html Aslında, bunu karıştırıcı ile karıştırıp eşleştirebilirsiniz. tdd ") arayüzü. Jasmine-jquery ile benzer şekilde, oldukça yeni olsa da bir chai-jquery eklentisi de var. –

+6

Yup, hem chai hem de mocha'nın birden çok arabirimi vardır. Yukarıda bahsettiğim gibi, chai bdd/expect arayüzünü beğenmedim çünkü tüm bu noktaları yararlı bulmuyorum. Teknik olarak –

4

Github'daki Teabag projesine bakın. Özellikle, boru hattını Mocha, Jasmine veya QUnit ile birlikte kullanmanıza izin verir. öncelikle Jasmine ile bilgi ve tecrübe ilgili benim için ama Mocha bazı gerçekten harika özelliklere sahiptir - -

https://github.com/modeset/teaspoon

Mocha en güzel harika kütüphane, ama genellikle Jasmine'i kullanmak size olduğunuzda izin gibi tanıyor küresel kapsamdaki şeyleri kanama.

Figür, projeden bahsetmeye değerdi çünkü özellikle kendiniz için karar verebilmeniz için her ikisini de (farklı süitlerde) oynamanıza izin veriyor.

İlgili konular