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ırHatalı 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.
Ö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";const makeUsers = (): Users.User[] => [ { name: "Ada", active: true }, { name: "Linus", active: false }, { name: "Grace", active: true },];export function testReturnsOnlyActiveUsers({ activeUsers }: typeof Users) { for (const user of activeUsers(makeUsers())) { assert.equal(user.active, true); }}export function testEmptyList({ activeUsers }: typeof Users) { assert.deepEqual(activeUsers([]), []);}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.
Gönderince sayaca yedi bilgi gider; gerekçe metnin cihazında kalır. Veriler