İçeriğe geç

Aktif kullanıcı testleri

Test · Zorluk 1/5 · TypeScript · 24 satırKöken: Kurgu

Görev

Yapay zekâdan istenen

activeUsers(users) için birim testleri yaz. Fonksiyon yalnız aktif kullanıcıları, sıralarını koruyarak döndürür ve girdi listesini değiştirmez.

Teslim notu

Yapay zekâ kodu teslim ederken şunu yazdı:

“Üç test: dönen her kullanıcının aktif olduğu, boş liste ve girdinin değişmediği. Fonksiyonun sözleşmesinin tamamı kapsandı.”

Yapay zekânın yazdığı kod

TypeScript24 satır

Hatalı bulduğun satırları işaretle; her işarete önem seç ve nedenini bir cümleyle yaz.

Satıra tıkla ya da dokun. Klavyede satıra gidip Enter'a bas.

0/5 işaret
Önem nasıl seçilir
  • KritikVeri kaybı, güvenlik açığı ya da para kaybı
  • ÖnemliGörevin istediği bir durumda kullanıcı yanlış sonuç alır
  • KüçükGörevin dışında kalan nadir bir uç durum ya da okunurluk

Test konusunda önem, testin yakalamadığı hatalı uygulamanın etkisine göre belirlenir.

Gerekçe puanlanmaz; sonuçta örnek cevapla karşılaştırırsın.

import assert from "node:assert/strict";
import type * as Users from "./subject.ts";
3
const makeUsers = (): Users.User[] => [
  { name: "Ada", active: true },
  { name: "Linus", active: false },
  { name: "Grace", active: true },
];
9
export function testReturnsOnlyActiveUsers({ activeUsers }: typeof Users) {
  for (const user of activeUsers(makeUsers())) {
    assert.equal(user.active, true);
  }
}
15
export function testEmptyList({ activeUsers }: typeof Users) {
  assert.deepEqual(activeUsers([]), []);
}
19
export function testLeavesInputUnchanged({ activeUsers }: typeof Users) {
  const input = makeUsers();
  activeUsers(input);
  assert.deepEqual(input, makeUsers());
}

Kanıtlayan test

Doğru seçenek, bu kodda başarısız olan, yani hatayı ortaya çıkaran testtir.

Test seçenekleri
Göndermek için en az bir satır işaretle.

Gönderince sayaca yedi bilgi gider; gerekçe metnin cihazında kalır. Veriler