describe ve it
- Node.js kursu
- Orta seviye
- Ders 84/116
- 5 dk
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
// 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
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?
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
describe("hesap", ____ () => { it("topla", () => {}); });
describe("hesap", () => () => { it("topla", () => {}); });
Açıklama: describe bir ad ve ok fonksiyon alır.