Neden Vitest
NOT
Bu kılavuzun Vite'ye aşina olduğunuzu varsaydığını unutmayın. Daha fazla bilgi edinmek için Neden Vite Kılavuzunu ve Evan You'nun ana kavramları açıkladığı bir demo yaptığı ViteJS ile yeni nesil ön uç araçları videosunu izleyebilirsiniz.
Vite için Yerel Bir Test Çalıştırıcısına Duyulan İhtiyaç
Vite'nin yaygın web kalıpları için hazır desteği, glob içe aktarmaları ve SSR ilkel öğeleri gibi özellikleri ve birçok eklentisi ve entegrasyonu canlı bir ekosistemi teşvik ediyor. Geliştirme ve derleme sürecindeki başarısı tartışılmaz. Belgeler için, Vite tarafından desteklenen birkaç SSG tabanlı alternatif bulunmaktadır. Ancak Vite'nin Birim Testi konusu henüz tam olarak ele alınmamıştı. Jest gibi mevcut seçenekler farklı bir bağlamda oluşturuldu. Jest ve Vite arasında çok fazla tekrar var ve kullanıcıları iki farklı işlem hattı yapılandırmaya zorluyor.
Test sırasında dosyalarınızı dönüştürmek için Vite geliştirme sunucusunu kullanmak, kaynak dosyaları dönüştürme karmaşıklığıyla uğraşması gerekmeyen ve yalnızca test sırasında en iyi geliştirici deneyimini (DX) sağlamaya odaklanabilen basit bir çalıştırıcı oluşturulmasını sağlar. Uygulamanızın aynı yapılandırmasını (vite.config.js
aracılığıyla) kullanarak, geliştirme, derleme ve test zamanında ortak bir dönüşüm hattını paylaşan bir test çalıştırıcısı elde edersiniz. Bu, sizin ve araçlarınızın geliştiricilerinin Vite ile birinci sınıf entegrasyon sağlamasına olanak tanıyan aynı eklenti API'si ile genişletilebilir. Başlangıçtan itibaren Vite göz önünde bulundurularak oluşturulmuş, anında Hot Module Reload (HMR) gibi DX'deki iyileştirmelerinden yararlanan bir araçtır. İşte Vitest: Vite destekli, son derece hızlı bir birim test çerçevesi.
Jest'in yaygın olarak kabul görmesi göz önüne alındığında, Vitest çoğu projede onu doğrudan değiştirebilmenizi sağlayan uyumlu bir API sunar. Ayrıca birim testlerinizi ayarlarken gerekli olan en yaygın özellikleri (mocklama, snapshot'lar, kapsam) içerir. Vitest performansa büyük önem verir ve mümkün olduğunca paralel çalıştırmak için Worker thread'leri kullanır. Bazı durumlarda testler katbekat daha hızlı çalışır. İzleme modu, Vite'nin geliştirme öncelikli bir deneyim için zorlamasıyla uyumlu olarak varsayılan olarak etkindir. DX'deki tüm bu iyileştirmelere rağmen, Vitest bağımlılıklarını dikkatlice seçerek hafif kalır.
Vitest, kendisini Vite projeleri için tercih edilen Test Çalıştırıcısı olarak ve hatta Vite kullanmayan projeler için bile sağlam bir alternatif olarak konumlandırmayı hedefliyor.
Başlangıç Kılavuzunda okumaya devam edin
Vitest X'ten Nasıl Farklı?
Vitest'in diğer benzer araçlardan nasıl farklı olduğuna dair daha fazla ayrıntı için Karşılaştırmalar bölümüne göz atabilirsiniz.