Yanıtlar:
Ben kullanarak sona erdi düğüm-birimi ve onunla gerçekten mutlu am.
Başlangıçta Expresso kullanıyordum ama testleri paralel olarak çalıştırması birkaç soruna neden oldu. (Örneğin, veritabanı fikstürlerinin kullanılması bu durumda iyi çalışmaz).
.done()
.
.done()
eşzamansız testlere uymayı gerektirir . Bazen biraz hantal olabileceğine katılıyorum, ancak bu şekilde yapmak için güçlü bir nedeni var.
Ayrıca düğüm için iyi bir test çerçevesi arıyordum ve Mocha'yı buldum . Expresso'nun resmi halefi ve çok olgun görünüyor.
Farklı iddia kütüphanelerini ekleyebilmenizi sağlar, kod kapsamı ve diğer şeyler için muhabirler sunar (kendi eklentinizi ekleyebilirsiniz). Senkronizasyon veya zaman uyumsuzluğu çalıştırabilir ve özlü bir API'sı vardır.
Bir deneyeceğim ve rapor vereceğim ...
Diğer projelere adanmış inanılmaz bir süre sonra nihayet bir Javascript projesine geri döndüm ve mocha ile oynamak için zamanım oldu. Ciddi kullanmanızı tavsiye ederim. Testler çok güzel okundu, yudumla entegrasyon harika ve testler çok hızlı yapıldı. Yaklaşık yarım gün içinde otomatik bağımsız ve aynı zamanda tarayıcı içi (browserify) test çalışmalarını ve karşılık gelen kod kapsamı raporlarını ayarlayabildim (çoğu zaman gulp'den browserify'ın nasıl kullanılacağını anlamaya harcanıyor). Bana göre, mocha bir test çerçevesi için çok iyi bir seçim gibi görünüyor.
Mocha konusunda hala çok ikna oldum. Chai ile entegrasyon, farklı iddia biçimlerinin eklentisine izin verir. Bu github projesinde çalışan bir kurulumu kontrol edebilirsiniz . Şimdi karma ile kullanıyorum, kod kapsama raporunu, otomatik izleyicileri ve IntelliJ ile iyi entegrasyonu entegre ediyorum
Şahsen sadece assert modülünü kullandım, ama kendimi daha fazlasını isterken buldum. Birçok düğüm modülüne baktım ve popüler birim test çerçeveleri düğüm birimi ve (Expresso ile aynı adam tarafından yapılmış olabilir (belki güncellenmiş bir isim?)
Yeminler de umut verici görünüyor.
Şahsen Expresso ile takılı kaldım , ancak çoğu test stilini barındıran bir dizi farklı çerçeve var.
Joyent'in kapsamlı bir listesi var ; bir şans ver.
yemin node.js için sağlam bir birim sınama kitaplığıdır ancak sözdizimi sıkıcıdır.
Yemin akıcı adlı API'yı zincirlenebilir hale getiren ince bir soyutlama yazdım.
Ve yemin akıcılığı üzerine kurulu ve bir BDD tarzı sözdizimi ortaya koyan başka bir soyutlama [vows-is] yazdım.
Bir örnek
var is = require("vows-is");
is.suite("testing is fun").batch()
.context("is testing fun?")
.topic.is("yes")
.vow.it.should.equal("yes")
.suite().run({
reporter: is.reporter
});
Mevcut çeşitli test çerçeveleri arasında, mocha'nın en yeni ve uygulanması çok basit olduğunu düşünüyorum. İşte nasıl kullanılacağı hakkında harika bir öğretici: http://thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express-mocha/
QUnit'e aşina iseniz , QUnit'in mevcut çerçevesi etrafında bir çeşit düğüm sarmalayıcı olan node-qunit kullanabilirsiniz .
Başlangıçta node.js için yapılmış, deadunit node.js ve tarayıcı için bir javascript birim test kütüphanesidir. Benzersiz özelliklerinden bazıları:
count
Beklenen istisnalar ve eşzamansız varsayımlarla uğraşmayı kolaylaştıran basit bir iddia vardırtest-studio , birim testi için güçlü, web tabanlı bir ön uç sağlayan bir npm paketidir. Bireysel veya test gruplarının yürütülmesi ve düğüm denetçisinin bireysel testlere adım atması gibi şeyleri destekler. Şu anda mocha'yı destekliyor ve gelecekteki taleplerde daha fazla çerçeve desteklenecek.
Bununla ilgili daha fazla bilgiyi buradan edinebilirsiniz .
Feragatname: Ben yazarım.