JS Testing
Node ile Unit Test ve API Test Nasıl Yapılır ?
Unit Test yazma ihtiyacı geliştiricilerde farklı farklı ortaya çıkar.
Test Driven giden bir geliştirici için ilk önce kodu yazmadan yazacağı testi, hangi istinai durumları test edeceğini düşünerek bu işe başlar buna göre testini yazar, testi hata verir ve testi geçirecek kodunu yazar.
Hataları Tespit Etmesi Zorlaşmaya başlayan geliştirici için, ilk önce kodunu geliştirmiştir, debugging, console.log vb yöntemler ile kodunu test ediyordur ama test işlemi giderek çok zamanını alıyor ve hata çok çıkıyor veya değişiklikleri yönetemiyor.
Süreçler için Zorunlu Olarak Yazılan Testler, bazı şirket kalite gereksinimlerinden dolayı zadece bazı Sertifika vb gereksinimlerle geliştiricilerin Code Covorage vb.. göstermelik testler yazması. Genelde boşu boşuna yazılır.
Node.JS için test frameworkleri aradığımda aşağıdaki linkteki örnek Mocha, Chai ile nasıl Unit Test ve Functional Test yapılacağını anlatmış. Kendi durumlarınız bundan çok çok daha kompleks olsada başlangıç için oldukça iyi bir örnek.
Mocha
Mocha Unit Testleri yazmanızı ve koşmanızı sağlayan bir araç.. Mocha sisteme ekledikten sonra package.json aşağıdaki scripti ekleyerek npm test konsoldan çalıştırarak tüm Unit testlerinizin koşmasını sağlayabilirsiniz.
Chai
Chai ise Assertion kütüphanesi yani Expect, Assert, Should ile fonksiyonlardan dönen değerleri, beklentiler ile karşılaştıran Node.js kütüphanesi.
Örnek Unit Test
Describe Unit Testlerinizi gruplamak için başlık olarak düşünebilirsiniz. it ise testinizi yazdığınız kısım
Örnek API Test
REST apinizi test etmek istiyorsanız. HTTPRequest simule edeceğiniz request kütüphanesini kullanabilirsiniz. Bu sırada test edeceğiniz uygulamanızın ayakta olması gerekir. Burada yaptığımız test aslında fonksiyonal testtir. Uygulamanızın API → Girdiyi ve buradan çıkan Çıktıyı assert ile kontrol edersiniz. Bu aşamada Belleğe, Diski, Network erişmiş ve birçok mantığı içerde çalıştırmış olabilirsiniz.
Ama basit bir şekilde tüm API’nizin testini hazırlayabilirsiniz. :)
Okumaya Devam Et 😃
Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.