Mocha Test Framework
Mocha, Node.js için popüler bir test framework’üdür. Asenkron testleri destekleyen, esnek ve zengin bir API sunan Mocha, hem backend hem de frontend JavaScript kodlarını test etmek için yaygın olarak kullanılır. Mocha, özellikle birim testleri (unit tests) ve entegrasyon testleri (integration tests) için uygundur.
Özelliklerinden bazıları şunlardır:
- Asenkron Test Desteği: Mocha, asenkron işlemleri kolayca test etmeyi sağlar. Testlerin tamamlanmasını beklemek için çeşitli yöntemler sunar.
- Test Raporlaması: Mocha, farklı raporlayıcılar (reporters) kullanarak test sonuçlarını farklı formatlarda sunabilir. Bu raporlayıcılar sayesinde test sonuçlarını daha anlaşılır ve görsel hale getirebilirsiniz.
- BDD/TDD Desteği: Mocha, hem Behavior Driven Development (BDD) hem de Test Driven Development (TDD) yaklaşımlarını destekler. Bunu
describe()
,it()
,before()
,after()
gibi fonksiyonlarla sağlar. - Esnek Yapı: Mocha, diğer test araçları ve assertion kütüphaneleri (örneğin Chai) ile kolayca entegre edilebilir.
MOCHA KURULUM
Mocha’yı global olarak npm ile yükleyebiliriz.
npm install — global mocha
Veya projemize dependency olarak ekleyebiliriz.
Mocha v7.0.0'dan itibaren, Node.js v8.0.0 ve üzerini gerektirmektedir.
Şimdi Mocha testlerimizin nasıl koşulduğunu görmek için örnek bir test ekleyelim ve aşağıdaki adımları sırasıyla gerçekleştirelim. Bir sonraki yazıda bu adımlarla ilgili ayrıntılı bilgiler verilecektir.
Adım 1: Test isimli bir klasör oluşturun. Daha sonra bir code editörü aracılığı ile (ben VSC kullanacağım) bu klasörün içine test.js dosyasını oluşturun.
Adım 2: Aşağıdaki test kodunu test.js dosyasının içerisine ekleyelim.
Bu test özetle ilgili dizideki 4. Index’i aramaktadır. Eğer dizede 4. Index yok ise -1 değerinin dönmesi beklenmektedir. Fakat dizide 4. Index var ise testin fail olması beklenmektedir.
Adım 3: Komut satırından ilgili dizine gelinerek “mocha” komutu çalıştırılır ve testin başarıyla sonlandığı gözlenir.
Eğer indexOf 4 değil de 1 seçilseydi bakalım testimiz nasıl sonlanacaktı?
Adım 4: Şimdi bir package.json dosyası oluşturalım. Mocha’yı kullanarak testleri çalıştırmak için komut dosyamızı değiştirelim.
Bu basit kurulum ile artık testlerimizi “npm test” komutuyla çalıştırabiliriz.
Şu anda, testlerimizi Mocha ile yapmak için her şeye sahibiz, ancak henüz koşacak bir testimiz yok. Yani bir sonraki adım testlerimizi yazmak olacak.