CodeBlanks Logo Icon CodeBlanks

describe ve it

describe ve it ile test organizasyonunu öğrenirsin.

describe ile gruplama

Testler çoğaldıkça describe ile gruplamak okunurluğu artırır. describe("hesap makinesi", () => { test("topla", ...); test("çıkar", ...); }). describe bir ad ve bir geri çağırma alır; geri çağırma içindeki testler tek bir grup altında toplanır.

it, test'in bir diğer adıdır (alias). Aynı anlama gelir; bazı ekipler test, bazıları it kullanır. Örnek: describe("hesap", () => { it("topla", () => {}); }). Gruplar iç içe de olabilir: bir describe içinde başka bir describe. Bu, büyük test dosyalarını bölümlere ayırır. Çıktıda grup adı test adının önüne gelir; böylece başarısız testi hızla bulursun.

İç içe gruplar

Bir describe içinde başka bir describe tanımlayabilirsin. Bu, büyük özellikleri alt özelliklere bölmek için kullanışlıdır. Örnek: describe("hesap", () => { describe("toplama", () => { it("pozitif", () => {}); }); }).

Çıktıda grup hiyerarşisi görünür: hesap > toplama > pozitif. Bu, başarısız bir testin hangi özellik kümesine ait olduğunu hızla gösterir. describe yalnızca görsel bir gruplamadır; çalışma zamanında testler yine sırayla yürütülür. Grup içindeki testler ortak bir kurulum (setup) paylaşabilir; bunu sonraki dersin kancaları (hooks) ile yapacağız. Şimdilik grup yapısını kurman yeterli.

Uygulama Hesap makinesi testlerini grupla

node:test'ten test, describe ve it'i içe aktar. describe("hesap makinesi", () => { it("topla", () => {}); it("çıkar", () => {}); }) ile iki testi grupla. console.log ile "Gruplandı" yazdır.

Başlangıç kodu

index.js
// test, describe ve it'i içe aktar
// buraya yaz

// describe ile iki testi grupla
// buraya yaz

// "Gruplandı" yazdır
// buraya yaz

Örnek çözüm

index.js
const { test, describe, it } = require("node:test");
describe("hesap makinesi", () => {
  it("topla", () => {});
  it("çıkar", () => {});
});
console.log("Gruplandı");

Beklenen çıktı

Gruplandı

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Parçayı rolüne eşle

Kavram Anlamı
describe Test grubu tanımlar
it test'in diğer adı
test Tek bir test tanımlar
() => {} Ok fonksiyonu gövdesi

2 it ve test arasındaki ilişki nedir?

index.js
test("x", () => {});  //  it("x", () => {})
  • it daha hızlı çalışır
  • test daha sıkı denetler
  • it, test'in başka adıdır Doğru cevap
  • test yalnızca describe içinde çalışır

Açıklama: it, test'in eş anlamlısıdır.

3 describe çağrısını tamamla

Soru
describe("hesap", ____ () => { it("topla", () => {}); });
Cevap
describe("hesap", () => () => { it("topla", () => {}); });

Açıklama: describe bir ad ve ok fonksiyon alır.

Orta seviye bölümündeki tüm dersler