Jest — Güçlü Bir JavaScript Test Çerçevesi
Test, yazılım geliştirmenin önemli bir parçasıdır. Kodun güvenilir olmasını, beklendiği gibi çalışmasını sağlar ve hata olasılığını azaltır. Test çerçeveleri, manuel testin ilk günlerinden bu yana çok yol kat etti. Bugün, Jest gibi otomatikleştirilmiş test çerçeveleri, JavaScript'te test etmeyi çocuk oyuncağı haline getiriyor.
Jest Çerçevesi nedir?
Jest, hızlı, basit ve kullanımı kolay bir JavaScript test çerçevesidir. Facebook tarafından geliştirilen açık kaynaklı bir araçtır ve genellikle React uygulamalarını test etmek için kullanılır, ancak Angular, Vue ve Node.js gibi diğer çerçevelerle de kullanılabilir. Jest , JavaScript kodunu test etmek için davranış odaklı bir geliştirme çerçevesi olan Jasmine üzerine inşa edilmiştir .
Jest Framework'ün Özellikleri
- Hızlı ve paralelleştirilmiş test : Jest, testleri paralel olarak çalıştırarak test sürecini önemli ölçüde hızlandırır.
- Anlık görüntü testi : Jest, bir bileşenin çıktısının anlık görüntüsünü almanıza ve çıktının beklenmedik bir şekilde değişmediğinden emin olmak için bunu gelecekteki değişikliklerle karşılaştırmanıza olanak tanır.
- Alaycı ve casuslar : Jest, test edilmesi zor olan dış bağımlılıkların veya işlevlerin davranışını simüle etmenize izin veren güçlü bir alay sistemi sağlar. İşlev çağrılarını ve bağımsız değişkenleri izlemek için casusları da kullanabilirsiniz.
- Kod kapsamı raporları : Jest, kodunuzun ne kadarının testleriniz tarafından kapsandığını gösteren kod kapsamı raporları oluşturur. Bu, kod tabanınızın daha fazla test gerektiren alanlarını belirlemenize yardımcı olur.
- Yerleşik test çalıştırıcı: Jest, testlerinizi otomatik olarak çalıştıran ve ayrıntılı çıktı ve hata mesajları sağlayan bir test çalıştırıcı içerir.
- Kolay yapılandırma: Jest'in yapılandırılması kolaydır ve çoğu projede işe yarayan mantıklı varsayılanlarla birlikte gelir. Ayrıca Jest'i özel ihtiyaçlarınıza uyacak şekilde özelleştirebilirsiniz .
- Küçük projeler için sıfır konfigürasyon: Küçük projeler için Jest, sıfır konfigürasyon ile kullanılabilir. Bu, kurulum konusunda endişelenmenize gerek kalmadan testleri yazmaya hemen başlayabileceğiniz anlamına gelir.
- Karmaşıklık: Jest, daha büyük projeler için kurmak ve yapılandırmak için karmaşık olabilir. Birçok yapılandırma seçeneğine sahiptir ve testlerin nasıl yazılacağı konusunda biraz bilgi gerektirir.
- Yavaş performans: Jest, özellikle büyük test takımları için yavaş çalışabilir. Bu, iş akışlarının bir parçası olarak sık sık testler yapması gereken geliştiriciler için bir sorun olabilir.
- Sınırlı topluluk desteği: Jest, geniş bir kullanıcı topluluğuna sahip olsa da, Mocha veya Jasmine gibi diğer test çerçeveleri kadar geniş çapta desteklenmeyebilir.
- Esneklik eksikliği: Jest, kendi iddiaları, taklitleri ve kapsam raporlama araçlarıyla eksiksiz bir test çözümüdür. Bu uygun olsa da, bu görevler için ayrı kitaplıklar kullanmakla aynı düzeyde esneklik sağlamayabilir.
Jest, npm veya yarn kullanılarak kurulabilir. Kurulduktan sonra, kodunuzu test etmek için kullanabilirsiniz. Jest, testler klasöründeki dosyaları veya .test.js veya .spec.js uzantılı dosyaları arar.
Jest'i yüklemek için aşağıdaki komutu kullanın:
$ npm install -g jest
Aşağıdaki bölümü package.json dosyanıza ekleyin
{
"scripts": {
"test": "jest"
}
}
{
"name": "jest-e2e",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "jest"
},
"author": "",
"license": "ISC",
"dependencies": {
"jest": "^25.1.0"
}
}
Test edilecek bir işleve sahip index.js adlı bir js dosyası oluşturun. Örneğin:
Şimdi, işlevi test etmek için aynı klasörde sum.test.js adlı bir test dosyası oluşturun. Test dosyasında, testte kodu yürütmek için işlevi içe aktarın. Örneğin:
Ardından, Jest'in bir açıklama bloğu ve birden çok test bloğu içeren BDD tarzı testlerini kullanarak fonksiyon için testleri yazın. Örneğin:
Bu testi çalıştırmak için, terminalde " npm test " komutunu veya proje konumunda komut istemini çalıştırmanız yeterlidir .
Çözüm
Jest test çerçevesi, JavaScript kodunu test etmek için harikadır. Hızlıdır, kullanımı kolaydır ve otomatik testlere entegre edilebilir. Jest'i kullanmak, geliştiricilerin güvenilir ve sürdürülebilir kod oluşturmasına yardımcı olur. Bu blogda Jest'in temellerini, nasıl kurulacağını ve basit JavaScript dosyalarının nasıl test edileceğini ele aldık. Genel olarak Jest, yüksek kaliteli JavaScript kodu oluşturmak için güçlü bir araçtır.