CodeBlanks Logo Icon CodeBlanks

Özet - Test temelleri

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

index.js
// 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

index.js
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?

index.js
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

Soru
const { test, describe, before, ____ } = require("node:test");
Cevap
const { test, describe, before, mock } = require("node:test");

Açıklama: mock da node:test'ten içe aktarılır.

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