Jasmine'le ilgili deneyimim var ve bunu biraz beğeniyorum. Herkesin özellikle Rails için Jasmine ve Mocha ile deneyimi var mı? Değişime değip değmeyeceğini merak ediyorum.Jasmine vs. Mocha Rails için JavaScript testi 3.1+
cevap
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.
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.
- 1. Javascript JsTestDriver Jasmine & Jasmine-jquery
- 2. Mocha Testi: Yakalanmamış TypeError:
- 3. UJS, Rails 3.1
- 4. https sunucusu için Mocha web soketi testi
- 5. Bourbon vs Twitter Raylar için Bootstrap 3.1
- 6. require.main.require eserler ancak Mocha testi
- 7. RestKit haritalama Rails 3.1
- 8. Authlogic Rails 3.1
- 9. Ruby on Rails için yayın tarihi 3.1
- 10. Jasmine javaScript özel durumu
- 11. Jasmine harici javascript ile test ediliyor
- 12. Heroku, Rails 3.1 ve Dalli
- 13. sonar 3.1 javascript sorunu
- 14. Rails 3.1'de Google Grafikler Ajax Kısmi
- 15. Jasmine testi, $ httpBackend.flush() kullanırken hata türünü döndürür;
- 16. Jasmine ile Karma'da AngularJS fabrika testi
- 17. Rails 3.1, kontrolöre özgü JS varlıklarını önceden derlemek için strateji
- 18. Açısal servis için Jasmine testi ertelenmiş aramayı çözmez
- 19. Global `before` ve mocha için beforeEach?
- 20. Görüntü varlıkları Rails 3.1'e yükseltme yaptıktan sonra bulunamadı 3.1
- 21. Jasmine
- 22. JSUnit vs Qunit ve XUnit ile Javascript/JQuery birimi testi
- 23. JSpec Yasemin vs QUnit vs Rails javascript ve jQuery test için
- 24. Rails 3.1 + Juggernaut Instant Messenger'ın çalışma örneği?
- 25. 1 Rails 3.1 üzerinde Capistrano dağıtımı/varlıkları
- 26. Rails 3.0.9'dan Rails 3.1'e yükseltme CanCan'dan hatalar
- 27. Jasmine testinde sahte pencere.location.reload
- 28. json response_with "type" niteliği dahil Rails 3.1
- 29. Bileşik benzersizliğini sağlamak için Rails 3.1'deki doğrulamaları nasıl kullanabilirim?
- 30. Mocha
Teşekkürler Peter! Sadece aradığım gözlemler :) – LupineDev
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. –
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 –