Jawaban:
Saya akhirnya menggunakan node-unit dan saya sangat senang dengannya.
Saya menggunakan Expresso awalnya tetapi fakta bahwa itu menjalankan tes secara paralel menyebabkan beberapa masalah. (Misalnya menggunakan perlengkapan database tidak berfungsi dengan baik dalam situasi ini).
.done()
imho.
.done()
harus mengakomodasi pengujian asinkron. Saya setuju itu bisa sedikit berat di kali, tetapi memiliki alasan yang bagus untuk melakukannya dengan cara ini.
Saya juga mencari kerangka uji yang layak untuk simpul dan menemukan Mocha . Ini adalah penerus resmi untuk Expresso dan tampaknya sangat dewasa.
Hal ini memungkinkan untuk plug-in pustaka pernyataan yang berbeda, ia menawarkan reporter untuk cakupan kode dan hal-hal lain (Anda dapat plug-in sendiri). Itu dapat menjalankan sinkronisasi atau async dan memiliki API ringkas.
Saya akan mencobanya dan melaporkan kembali ...
Setelah banyak waktu yang didedikasikan untuk proyek-proyek lain saya akhirnya kembali ke proyek Javascript dan punya waktu untuk bermain-main dengan moka. Saya sangat merekomendasikan penggunaannya. Tes membaca dengan sangat baik, integrasi dengan tegukan hebat dan tes berjalan sangat cepat. Saya dapat mensetup standalone otomatis dan juga di dalam browser (browserify) uji coba dan laporan cakupan kode yang sesuai dalam sekitar setengah hari (sebagian besar waktu dihabiskan untuk memahami cara menggunakan browserify dari tegukan). Bagi saya, moka sepertinya pilihan yang sangat baik untuk kerangka pengujian.
Saya masih sangat yakin tentang Mocha. Integrasi dengan chai memungkinkan untuk plugin gaya pernyataan yang berbeda. Anda dapat checkout pengaturan yang berfungsi di proyek github ini . Saya menggunakannya dengan karma sekarang, mengintegrasikan laporan cakupan kode, pengamat otomatis dan integrasi yang baik dengan IntelliJ
Saya pribadi hanya menggunakan modul menegaskan, tetapi juga menemukan diri saya menginginkan lebih. Saya telah melihat melalui banyak modul simpul dan kerangka kerja unit pengujian yang populer adalah simpul-unit dan harus (yang dibuat oleh orang yang sama dengan Expresso (mungkin nama yang diperbarui?)
Sumpah juga terlihat menjanjikan.
Secara pribadi saya terjebak dengan Expresso , tetapi ada banyak kerangka kerja yang berbeda di luar sana, mengakomodasi sebagian besar gaya pengujian.
Joyent memiliki daftar lengkap ; coba saja.
sumpah adalah pustaka pengujian unit solid untuk node.js tetapi sintaksinya membosankan.
Saya telah menulis abstraksi tipis yang disebut vows- fluent yang membuat API dapat ditagih.
Dan saya telah menulis abstraksi lain, [sumpah-is] yang dibangun di atas sumpah-fasih dan memperlihatkan sintaks gaya BDD.
Contohnya adalah
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
});
Saya pikir di antara berbagai kerangka kerja pengujian yang tersedia, mocha adalah yang terbaru, dan sangat sederhana untuk diimplementasikan. Berikut ini adalah tutorial yang bagus tentang cara menggunakannya: http://thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express-mocha/
Jika Anda terbiasa dengan QUnit , Anda bisa menggunakan node-qunit yang merupakan semacam pembungkus simpul di sekitar kerangka kerja QUnit yang ada.
Awalnya dibuat untuk node.js, deadunit adalah pustaka pengujian unit javascript untuk node.js dan browser. Beberapa atribut uniknya:
count
pernyataan sederhana yang membuat berurusan dengan pengecualian yang diharapkan dan pernyataan asinkron menjadi mudahSaya baru saja mengunggah proyek yang saya gunakan untuk menguji unit simpul dengan karma dan Jasmine: narma . Modul simpul Anda dimuat ke browser nodewebkit sehingga Anda dapat menjalankan modul simpul dan menggunakan perpustakaan seperti jquery di tumpukan yang sama.
test-studio adalah paket npm yang menyediakan ujung depan yang kuat dan berbasis web untuk pengujian unit. Ini mendukung hal-hal seperti mengeksekusi tes individu atau kelompok dan melangkah simpul-inspektur ke dalam tes individu. Saat ini mendukung moka dan lebih banyak kerangka kerja akan didukung dalam permintaan yang diberikan di masa depan.
Baca lebih lanjut di sini .
Penafian: Saya penulis.