Özet - Test temelleri
- Node.js kursu
- Orta seviye
- Ders 87/116
- 5 dk
node:test, assert ve mock'u birleştirerek bir hesap makinesi testi yazarsın.
Özet - Test temelleri
Bu grupta Node.js'in gömülü test araçlarını öğrendin: node:test çerçevesi, assert iddiaları, describe ve it ile gruplama, before/after kancaları, ve mock ile sahte fonksiyonlar. Şimdi hepsini birleştiren bir hesap makinesi testi yazacağız.
Yapı: describe("hesap makinesi") grubu içinde before kanca ile kurulum, it("topla") ve it("çıkar") testleri ile assert.equal iddiaları, ve mock.fn() ile bir sahte günlükleyici (logger). Bu, gerçek bir projede test dosyasının nasıl görüneceğine dair küçük bir örnek. Testler node --test dosya.js ile çalıştırılır; çıktıda TAP biçiminde rapor görürsün.
Uygulama Hesap makinesi testini yaz
node:test'ten test, describe, before ve mock'u, ayrıca node:assert'i içe aktar. function topla(a, b) { return a + b; } tanımla. const log = mock.fn(); ile sahte günlükleyici yarat. describe("hesap makinesi", () => { before(() => {}); test("topla", () => { assert.equal(topla(2, 3), 5); }); }) yaz. console.log("Hesap makinesi testi hazır, mock: " + log.mock.calls.length) ile yazdır.
Başlangıç kodu
// test, describe, before ve mock'u içe aktar
// assert'i de içe aktar
// buraya yaz
// topla fonksiyonunu tanımla
// buraya yaz
// sahte günlükleyici yarat
// buraya yaz
// describe ile test grubu kur
// buraya yaz
// "Hesap makinesi testi hazır, mock: ..." yazdır
// buraya yazÖrnek çözüm
const { test, describe, before, mock } = require("node:test");
const assert = require("node:assert");
function topla(a, b) { return a + b; }
const log = mock.fn();
describe("hesap makinesi", () => {
before(() => {});
test("topla", () => {
assert.equal(topla(2, 3), 5);
});
});
console.log("Hesap makinesi testi hazır, mock: " + log.mock.calls.length);Beklenen çıktı
Hesap makinesi testi hazır, mock: 0
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir test grubuna kurulum eklemenin doğru yolu hangisidir?
describe('x', () => { /* ... */ })- describe içine before() eklemek Doğru cevap
- console.log ile yazdırmak
- Grubun dışında test() çağırmak
- assert.equal kullanmamak
Açıklama: before hook gruptan önce kurulum yapar.
2 Kavramı rolüne eşle
| Kavram | Anlamı |
|---|---|
test |
Tek bir test tanımlar |
assert.equal |
İki değeri karşılaştırır |
describe |
Testleri gruplandırır |
mock.fn |
Sahte fonksiyon yaratır |
3 Çoklu içe aktarmayı tamamla
const { test, describe, before, ____ } = require("node:test");
const { test, describe, before, mock } = require("node:test");
Açıklama: mock da node:test'ten içe aktarılır.