logo

Bir çerçeve var

Bir çerçeve var

Jest Çerçevesi Nedir?

bir tane var JavaScript açık kaynaklı çerçeve esas olarak aşağıdakiler için kullanılır: test yapmak . Jest, büyük ölçüde tepki tabanlı web uygulamalarıyla ve tepkiyle çalışmak için kullanılır ve herhangi bir birim testi yaparken çoğunlukla basitliğe odaklanır. Birim testi Herhangi bir yazılımın ön ucunda çalıştırıldığında genellikle çok kullanışlı değildir çünkü kapsamlıdır, çok zaman alır ve karmaşıklığı artırır. Ancak jest çerçevesi kullanılarak kolayca kaldırılabilir. Ayrıca jest çerçevesi, programcının, ister web uygulamalarının ister herhangi bir mobil uygulamanın tarayıcı tarafından görüntülenmesi olsun, JavaScript kullanılarak geliştirilen her şeyi doğrulamasına yardımcı olur.

Otomatik tarayıcı testi için Jest çok önemli bir rol oynar. Jest, şu anda mevcut diğer çerçevelerle karşılaştırıldığında en ünlü JavaScript test çerçeveleri arasındadır. Bununla birlikte, Jest aynı zamanda yerleşik bir alaycı yazılımın harmanlanmış bir paketini de sunuyor. kütüphane, BİR iddia kütüphanesi ve bir deneme koşucusu . Sadeliği temel olarak basitliği ile bilinir ve bu da onu aşağıdakiler gibi çeşitli JavaScript kitaplığı projelerini test etmek ve oluşturmak için benzersiz bir araç haline getirir: Açısal JS, Düğüm JS, Vue JS, Babel, Ve Daktilo .

Jest, esas olarak JavaScript kod tabanının kesinliğini ve doğruluğunu sağlamak için tasarlanmış bir JavaScript test çerçevesidir. İçerisine yazdığımız kod için size hızlı bir şekilde sonuç sağlayacak, ulaşılabilir, tanıdık ve zengin özelliklere sahip bir API (Uygulama Programlanabilir Arayüz) ile testler yazma işlevselliği konusunda bize yardımcı olur.

İyi tanımlanmış bir belgedir ve çok az yapılandırma gerektirir ve ihtiyaçlarınızı karşılamak için gerektiğinde genişletilebilir. Jest, testleri keyifli bir şekilde yapmamızı sağlıyor.

sayılarla alfabe

Jest, reaksiyon bileşenlerini test etmek için en popülerlerden biridir. Başlangıçta Facebook tarafından özellikle tepki uygulamalarını test etmek için oluşturuldu. Gerekli tüm şeyleri tek bir çerçevede toplayarak JavaScript testlerini çalıştırmayı daha kolay ve hızlı hale getirir. Temel olarak kutunun dışında, konfigürasyon gerektirmeden ve çoğu JavaScript projesinde çalışmayı amaçlamaktadır.

Çok hızlı ve güvenlidir; Jest, benzersiz bir küresel duruma sahip olmalarını sağlayarak tüm testlerinizi paralel olarak çalıştırabilir. İşleri daha hızlı ve daha kolay hale getirmek için, önce daha önce başarısız olan testleri çalıştırır ve ardından uzun test dosyalarını temel alan sonraki testlerin çalıştırmalarını yeniden düzenler.

Jest'in, programcıların tek bir yerde kullanabileceği, çok iyi belgelenmiş, bakımı uygun şekilde yapılmış ve iyi bir şekilde düzenlenmiş harika bir araç seti vardır. Ayrıca testleri kendi süreçlerinde çalıştırarak paralel bir şekilde yöneterek performans düzeyinin en üst düzeye çıkarılmasına yardımcı olur. Jest ayrıca bilgi kapsamı kayıtlarını da tutar ve tüm projelerden ve çeşitli test edilmemiş dosyalardan kod kapsamı bilgilerini toplar.

Jest çerçeve araçları oldukça fazla popülerlik kazandı ve bu popülerlik Jest'in hem JavaScript arka uç hem de ön uç uygulamalar için kullanılmasına yol açtı. Çeşitli büyük şirketler - dahil Twitter, Pinterest, Instagram , vb. - esas olarak reaksiyon testi için Jest'i kullanır.

Jest'in kendisi bir kütüphane değil, bir JavaScript'tir çerçeve ve bazı rakiplerin yaptığı gibi çok fazla işlevsellik için üçüncü taraf araçlara güvenmez. Herkes Jest'i kullanabilir ve sıfır konfigürasyon Kurulumu nedeniyle sorunsuz bir parçadır. Kolayca kurabilir ve en başından itibaren ilk testinizi yazabilirsiniz.

Çeşitli sahte işlevler API'sinin (Uygulama Programlama Arayüzü) yardımıyla, herhangi bir metnin kolayca okunabilir sözdizimiyle çeşitli işlev çağrılarını gözlemlemek için sahte içe aktarmaları kullanabiliriz.

Jest, birim testleri için çok popülerdir ve çeşitli entegrasyon testlerini içerecek şekilde kolayca genişletilebilir. Farklı birim testleri ölçeğinde, otomatik testler uçtan uca testlere son derece aykırıdır. Herhangi bir mobil veya web uygulamasının farklı yönlerini doğrulayan, her biri farklı bir kaplama veya katman üzerinde çalışan ve kendine özgü geri bildirim sağlayan çok fazla yazılım testi vardır.

Birim testi sıklıkla çeşitli yazılım testi otomatik testi türleri arasında en önemlisi olarak gösterilmektedir. Birim testleri esas olarak uygulamanızı tamamen yalıtılmış olarak küçük parçalara bölerek doğrulamak için kullanılır. Ayrıca birim testleri beklenenden daha fazlasının sağlanmasını sağlar.

Sonuç olarak, birim testi genellikle -

  • Herhangi bir test veya uygulama tabanlı projeyi yürütmek oldukça hızlıdır.
  • Kurulumu az çok kolaydır ve ayrıntılı bir konfigürasyon gerektirmez.
  • Kullanıcının geliştirdiği herhangi bir web ve mobil uygulama veya proje ile ilgili her türlü geri bildirimin sağlanmasında son derece doğrudur.

Bu nedenle, kullanıcılar genellikle tamamen izolasyon altında birimlerle etkileşime girmediğinden birim testi daha az gerçekçi veya yaratıcıdır.

Jest Framework'ün Özellikleri

    Kurulumu kolay -Jest çerçevesinin herhangi bir sisteme kurulumu oldukça basittir. Doğrudan npm (Node Package Manager) adlı kütüphaneyi veya iplik kullanarak kurabilirsiniz. Npm komut satırıyla ' - g ' bayrağını kullanarak jest modülünü global olarak kurabiliriz. Paket dosyalarını çeşitli npm testleri için ayarlamadan, ' - g ' bayrağını kullanarak jest komutunu doğrudan kullanabilirsiniz. Jest çerçevesini kullanmak çok basittir; React projelerinizi oluşturmak için React-create uygulamasını kullanmak istiyorsanız bu tür işlemler yapmanıza gerek kalmamasını öneririz. Jest paketi birden fazla modülden oluşur ve burada testleri hemen yazmaya başlayabilirsiniz.Performans ve hız -Jest çerçevesi çok hızlıdır. Sistem performansınız da iyiyse, tüm test senaryolarınızı herhangi bir gecikme olmadan, verimli ve hızlı bir şekilde hızlı bir şekilde yürütür. Jest, testiniz CPU'ya bağlı olduğunda test çalıştırmalarınızda önemli ölçüde zaman tasarrufu sağlayabilir. Jest'in hızlı ve etkili çalışmasını sağlayan çeşitli faktörler vardır -
    • Önce bu testi çalıştırın, bu daha fazla zaman alır; bu faktör nedeniyle tüm çekirdekler maksimum düzeyde kullanılır.
    • Paralelleştirme, bu faktörden dolayı tüm testler aynı anda birden fazla konfigürasyona karşı gerçekleştirilir. Paralel test, çeşitli konfigürasyonlara karşı tüm testleri aynı anda gerçekleştirebilen yarı otomatik testtir.
    • Babil dönüşümlerini yakalar; burada babel, javascript'in açık kaynaklı ve ücretsiz bir trans derleyicisidir.
    Tüm testlerin izole çalışması -Her jest testi kendi sanal alanında çalışır; bu, iki testin başka bir testin çalışmasına müdahale etmemesini veya başka bir testin yürütülmesini etkilememesini sağlar. Ancak tüm testlerin sistem paralelinde yürütüldüğünü biliyoruz. Yine de izolasyonun temel fikri, her testin ortamını, diğer testlerin çalışmasına müdahale edebilecek şekilde teker teker çalıştırılmayı düşünecek şekilde sağlamaktır. Bu özellik sayesinde jest çerçevesi daha hızlı çalışır.Güçlü Alaycı desteği- Bu özelliği öğrenmeden önce alay etmenin tam olarak ne olduğunu anlamamız gerekiyor. Alay etmek, çeşitli test deneklerimizi ayırmaya yönelik bir tekniktir; bu ayırma, bağımlılıkları denetleyebilen ve kontrol edebilen nesnelerle değiştirerek yapılır. Jest'te alay etmekten bahsettiğimizde, genellikle bağımlılıkları sahte işlevlerle değiştirmeyi tartışırız. Jest, her türlü Mocking'i destekler; zamanlayıcı alayı, işlevsel alaycı veya alaycı bireysel API (Uygulama Programlama Arayüzü) çağrıları olarak takip edilebilir.Jest TypeScript'i destekliyor- Jest TypeScript'i destekliyor. Bunu ts-jest paketini kullanarak uygulayabiliriz; Hepimizin bildiği gibi TypeScript, hem sunucu tarafında yürütme hem de istemci tarafında yürütme için JavaScript uygulamaları geliştirmek için kullanılır. Typescript, en avantajlı özelliği olan düz javascript kullanır ve javascript'in çok ünlü bir üst kümesidir. ts-jest paketi, Jest için bir kaynak haritası desteğinin yanı sıra bir daktilo ön işlemcisi görevi görüyor ve aynı zamanda oldukça çevik bir topluluğa sahip.Anlık görüntü testini destekleyin -Anlık görüntü testinin çok faydası vardır; verdiğiniz veya sağladığınız bileşeni temsil eden bir dize yakalamanıza ve bunu bir dosyada saklamanıza olanak tanır. Anlık görüntü testi, React Native ve React uygulamaları için idealdir ve diğer çeşitli çerçevelerin sıralı değerlerini karşılaştırmak için anlık görüntüleri kullanabilirsiniz. Reaksiyon bileşeninin anlık görüntülerinin yakalanması, bileşenin davranışının doğrulanmasına büyük ölçüde yardımcı olur. Kullanıcı Arayüzünüzü (Kullanıcı Arayüzü) değiştirmek istiyorsanız anlık görüntü dosyanızı güncellemeniz gerekir.

Jest çerçevesinin yukarıdaki tüm özelliklerinden ve avantajlarından, Jest'in çok hızlı bir test çerçevesi olduğu ve sistemimize bir jest kurmamız ve kurmamız için çok kullanışlı ve kolay olduğu sonucuna varabiliriz. Facebook tarafından geliştirilmiş olup, Facebook ve diğer birçok kullanıcı tarafından tüm react uygulamalarını ve react tabanlı projeleri test etmek için aktif olarak kullanılmaktadır. Kullanışlı ve sık kullanılan paketlere sahiptir, TypeScript'i destekler.

Herhangi bir Testi yürütmek için Temel Kurulum

Bir web veya mobil uygulama oluşturduğumuzda, o uygulamanın her özelliğini, unsurunu ve kullanıcıyla etkileşim noktasını test etmemiz gerekir ki bu oldukça zorunludur. Web uygulamaları esas olarak kod birimi olarak ifade edilen çeşitli modül ve işlevlerden oluşur ve bu kod birimlerinin de test edilmesi gerekir.

Bu durumda genellikle iki senaryo ortaya çıkar:

  • Eski kodu devralın ve burada eski kod, eski bilgisayar kaynak kodunu veya belirli testler için önceden tanımlanmış olan ve bu kodlar zaten test edildiğinden ve daha fazla teste tabi tutulması gerekmediğinden testler olmadan gelen geleneksel kodu (temel kodlar) ifade eder. .
  • Yeni bir işlevi aniden, beklenmedik bir şekilde veya tarzda uygulayın.

Yukarıda bahsedilen her iki durumda da verilen fonksiyonların istenen çıktıyı üretip üretmediği kontrol edilmelidir.

Her test için önceden tanımlanmış bir akış vardır ve akışı adım adım takip ederek kodumuz akışın sonuna kadar test edildikten sonra tamamen test edilir.

  1. Başlangıçta belirli bir test için gerekli işlevi içe aktarın.
  2. Gerekli girişi seçilen fonksiyona iletin.
  3. İşlev gövdesini, işlevin yürütülmesinden sonra istenen çıktıyı üretecek şekilde tanımlayın.
  4. Son olarak, istenen çıktıyı verip vermediğini kontrol ederek fonksiyonun çalışmasını kontrol edin.

Jest Kurulum Süreci

Jest ile ilk test betiğinizi yazmadan önce gerekli olan jest çerçevesinin belirli önkoşulları ve kurulum süreci vardır. Bu tür bir test komut dosyası aynı zamanda bir selenyum test otomasyon komut dosyası.

Bu nedenle, jest testleri komut dosyalarımızı çalıştırmak için, belirli test komut dosyalarını kontrol etmek üzere önceden tanımlanmış bazı önemli kitaplıkları ve paketleri kurmamız gerekir.

    Düğüm Paket Yöneticisi (npm) ve NodeJS: NodeJS, doğrudan kuruluş web sitesinden Windows Installer ikili dosyası kullanılarak veya npm yöneticisi kullanılarak kurulabilir; node Paket Yöneticisi, 8 lakh'tan fazla kod paketi içeren açık kaynaklı bir yazılım kütüphanesidir. Node Packaging Manager, genellikle web tabanlı veya mobil uygulamalarımızdaki çeşitli Node.js paketlerini güncellemek, yüklemek veya kaldırmak için kullanılan bir komut satırı aracıdır.
    Npm komutunu başlatmak istiyorsanız, npm-komut satırı aracına gidin ve en son sürümü yükleyin, komutu aşağıda belirtildiği gibi kolayca uygulayabilirsiniz.
 $ npm init -y 
    Selenyum Web Sürücüsü:Çalıştırmanıza veya çalıştırmanıza izin veren bir web çerçevesidir. tarayıcılar arası testler uygulayın. Ayrıca çeşitli test komut dosyaları oluşturmak için size uygun herhangi bir programlama dilini seçmenize de olanak tanır. Mobil veya herhangi bir web tabanlı uygulama testini otomatikleştirmek için, uygulamanın beklenen şekilde performans gösterip göstermediğini doğrulamak için bir Selenium web sürücüsü kullanılır. Jest modülü kök dizine kuruludur. Selenyum web sürücüsü jest modülü için bir güven kaynağıdır.
    Aşağıda belirtilen komut satırını kullanarak Selenium WebDriver'ın son sürümünü indirebilirsiniz.
 $ npm install selenium-webdriver 

Aşağıda bahsettiğimiz gibi komut satırını kullanarak npm kullanarak jest modülünü kurabilirsiniz.

 $ npm install --save-dev Jest 

Test uzmanları, Java - SDK jest anahtar sözcüğünü kullanarak komutları komut satırında çalıştıracaktır. Jest framework kurulum işlemine geçmeden önce, sisteminizin Java Development Kit kurulum işlemini tamamlamış olup olmadığını kontrol etmeli ve sistemi JAVA ortamı ile yapılandırmalısınız; bunun nedeni Jest'in bir selenyum test çerçevesi olması ve selenyumun Java'nın kendisi üzerine kurulu olmasıdır.

' -g ' bayrağını kullanarak jest modülünü global olarak kurabilirsiniz ve ayrıca npm komutuyla birlikte ' -g ' bayrağını da kullanabilirsiniz.

Paket dosyasını npm testleri için ayarlamadan çeşitli Jest komutlarını doğrudan kullanmak için ' - g ' işaretini kullanarak bunu kolayca yapabilirsiniz.

 $ npm install -g jest 

Aşağıda belirtilen örneğin yardımıyla jest çerçevesini daha iyi anlayalım.

package.json kullanan Jest Örneği

 package.json { ' name ' : ' jest-test ', ' version ' : ' 1.0.0 ', ' description ' : '', ' main ' : ' main.js ', ' scripts ' : { ' test ' : ' jest -verbose ' }, ' keywords ' : [], ' author ' : ' Name Owner ', ' license ' : ' ISC ', ' devDependencies ' : { ' jest ' : ' ^24.0.0 ' }, ' dependencies ' : { ' axios ' : ' ^0.18.0 ' } } 

Test çalıştırmaları hakkında daha fazla bilgi istiyorsanız -verbose bayrağını kullanın çünkü Jest, varsayılan olarak yalnızca temel çıktılar üretir.

Belirli bir sırada bire bir testleri çalıştırmak veya yürütmek istiyorsanız, o zaman npx: test adı komutu.

Kodlar :

 ' test ' : ' jest --verbose ./test -directory ' 

Böylece, test uzmanları Jest'i belirli bir test için belirli bir test dizininin çeşitli testlerini çalıştıracak şekilde ayarlayabilir.

Herhangi bir testi veya programı yürütmeden önce izlemeniz gereken bazı prosedür adımları vardır:

  1. Başlangıçta hepinizin kodu çalıştırması gerekiyor
  2. Daha önce yazdığınız kodu değerlendirin.
  3. Sonunda herhangi bir web veya mobil uygulama yapmak için bazı varyasyonlar içeren bu kodları uygulamaya başlayın veya farklı web siteleri yapabilirsiniz.