yoklateknik mülakat

Frontend Javascript Testing Tooling Mülakat Soruları

75 doğrulanmış Frontend Javascript Testing Tooling mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

Javascript Testing ToolingZorluk 1
Jest/Vitest'te describe() ile it()/test() arasındaki temel fark nedir?
  • aİkisi de aynı fonksiyonun birbirinin yerine geçen takma adlarıdır
  • bdescribe() testleri paralel çalıştırır; it()/test() sırayla çalıştırır
  • cdescribe() testleri gruplar; it()/test() tek bir test case tanımlar
  • ddescribe() tek bir test case tanımlar; it()/test() gruplar
Açıklama:describe(), ilgili testleri organize etmek (ve hook'lar aracılığıyla setup paylaşmak) için kullanılan bir gruplama bloğudur; it()/test() ise bir assertion içeren gerçek bir test case tanımlar. İkisi takma ad değildir (a), hiçbiri tek başına paralellik kontrolü yapmaz (b), ve (d) rolleri tersine çevirir — gruplama describe()'a, tekil test case it()/test()'e aittir.
Javascript Testing ToolingZorluk 1
expect(x).toBe(y) ile expect(x).toEqual(y) arasındaki fark nedir?
  • atoBe, Object.is (referans eşitliği) kullanır; toEqual değerleri derin karşılaştırır
  • bFark yoktur; ikisi de her zaman derin karşılaştırma yapar
  • ctoBe yalnızca sayılar için, toEqual yalnızca string'ler içindir
  • dtoEqual referans eşitliğini, toBe derin değer eşitliğini kontrol eder
Açıklama:toBe, Object.is ile karşılaştırır — aynı primitifler ya da tamamen aynı obje referansı. toEqual yapıyı özyinelemeli gezer ve değerleri karşılaştırır, bu yüzden aynı şekle sahip iki farklı obje toEqual altında eşittir ama toBe altında değildir.
Javascript Testing ToolingZorluk 1
Bir describe bloğu içindeki beforeEach(fn) ne yapar?
  • aO bloktaki tüm testler başlamadan önce fn'i yalnızca bir kez çalıştırır
  • bfn hata fırlatırsa bir sonraki testi atlar
  • cfn'i yalnızca o bloktaki ilk testten önce çalıştırır
  • dHer testten önce fn'i, her seferinde yeniden çalıştırır
Açıklama:beforeEach, kapsayan bloktaki HER tek testten önce callback'ini yeniden çalıştırır — bu da testler arasında taze state sıfırlamak için onu kullanışlı yapan şeydir. Blok için bir kez çalışmak beforeAll'un işidir, beforeEach'in değil (a, c).
Javascript Testing ToolingZorluk 1
test.only('a', ...), test('b', ...) ve test('c', ...) içeren bir test dosyasında gerçekte hangi testler çalışır?
  • aÜç test de çalışır
  • bYalnızca 'a' testi çalışır; 'b' ve 'c' atlanır
  • cYalnızca 'b' ve 'c' çalışır; 'a' atlanır
  • dDosyadaki her test .only kullanmadıkça test.only hata fırlatır
Açıklama:.only, çalışmayı o dosyada yalnızca işaretlenmiş test(ler)le sınırlar, diğer tüm testleri atlar — debug ederken tek bir vakaya odaklanmak için kullanışlıdır. Evrensel kullanım gerektirmez (d) ve hangi testin seçildiğini tersine çevirmez (c).
Javascript Testing ToolingZorluk 1
package.json'da "^1.2.3" olarak listelenen bir bağımlılık, npm'in hangi versiyon aralığını kurmasına izin verir?
  • aYalnızca tam olarak 1.2.3 versiyonu
  • b2.x.x ve üzeri dahil, herhangi bir versiyon
  • c1.2.3 ve üzeri, 2.0.0'dan küçük herhangi bir 1.x.x versiyonu
  • dYalnızca >= 1.2.3 ve < 1.3.0 aralığındaki versiyonlar
Açıklama:Caret (^) işareti, en soldaki sıfır-olmayan hane değişmediği sürece güncellemelere izin verir — yani ^1.2.3, 1.2.3'ten 2.0.0'a kadar (2.0.0 hariç) her şeye izin verir. Yalnızca patch aralığıyla sınırlamak (d) bunun yerine tilde'nin (~1.2.3) işidir.
Javascript Testing ToolingZorluk 1
package.json'daki "scripts" alanının amacı nedir?
  • anpm run <isim> ile çalıştırılabilen isimli shell komutları tanımlar
  • bRuntime'da gereken production bağımlılıklarını bildirir
  • cTest framework'ünün matcher fonksiyonlarını yapılandırır
  • dnpm'e hangi dosyaların yayınlanacağını listeler
Açıklama:"scripts", kısa isimleri shell komutlarına eşler; böylece npm run test ya da npm run build o isim altında kayıtlı komut satırını çağırır. Bağımlılıklar "dependencies"/"devDependencies" altında yaşar (b), yayınlanacak dosyalar ise "files" ya da .npmignore ile kontrol edilir (d).

2925 soruluk Frontend bankasında kendini sına.

Mülakata başla