Testlar — AI eng tez foyda beradigan joy
Test yozish — takroriy, pattern'ga boy ish, ya'ni aynan modellar yaxshi qiladigan narsa. Funksiya berilganda AI soniyalarda to'liq holatlar to'plamini, siz unutadigan chekka holatlar bilan birga, chiza oladi. Ammo o'qimagan testingiz umuman testsiz bo'lishdan yomonroq: u soxta ishonch beradi.
To'plam yaratish
Modelni funksiyaga va test frameworkingizga yo'naltiring:
Write Vitest unit tests for this `formatPrice` function. Cover:
zero, negatives, large numbers, and non-integer cents. Follow the
style of the existing tests in this file.Odatiy natija:
import { describe, it, expect } from "vitest"
import { formatPrice } from "./format-price"
describe("formatPrice", () => {
it("formats a whole dollar amount", () => {
expect(formatPrice(500)).toBe("$5.00")
})
it("formats cents", () => {
expect(
Har bir assertion'ni o'qing
Mana tuzoq: AI kod hozir nima qilsa, o'shani — uning xatolarini ham — tasdiqlaydigan testlar yozadi. Agar formatPrice(-250) noto'g'ri "$-2.50" qaytarsa, model expect(...).toBe("$-2.50") yozib, uni o'tdi deb hisoblashi mumkin. Endi sizda xatoni mustahkamlab qo'yadigan yashil test bor.
Shuning uchun har bir assertion'ni o'qing va so'rang: bu men aslida xohlagan xatti-harakatmi? Testning vazifasi implementatsiyani aks ettirish emas, to'g'ri xatti-harakatni kodlash. Shuning uchun kutilgan natijani siz yozasiz, mexanikani esa modelga to'ldirtirasiz — teskarisi emas.
O'zingiz o'tkazib yuboradigan holatlarni so'rang
Modellar keng qamrovda yaxshi. Buni aniq so'rang:
What edge cases am I missing for this function? List them, then
write a test for each.Bo'sh kirishlar, chegara qiymatlari, unicode, vaqt zonalari, parallellik — model siz baholay oladigan toifalarni yuzaga chiqaradi.
Ularni ishga tushiring va yiqilganini kuzating
Hech qachon yiqilmagan test isbotlanmagan. Funksiyani vaqtincha buzing va test buni ushlashini tasdiqlang:
pnpm test format-priceAgar test buzilgan kodga qarshi o'tsa, u hech narsani sinamayapti — AI yaratgan to'plamlardagi keng tarqalgan nuqson.
Nega bu muhim
FAANG darajasidagi jamoalar merge'larni testlar bilan cheklaydi, ko'rib chiquvchilar esa talab o'rniga implementatsiyani tasdiqlaydigan AI yaratgan testlarni sezishi mumkin. Qamrovni tez chizish uchun AI'dan foydalanishingizni, ammo assertion'larni ehtiyotkorlik bilan saralashingizni — va ularni chindan ishga tushirishingizni — ko'rsatish siz testlar nima uchun ekanini tushunishingizni namoyish etadi, bu esa xom test sonidan ancha muhimroq.
Muhokama
Hozircha izoh yo‘q
Muhokamada qatnashish uchun tizimga kiring.
KirishHozircha fikr yo‘q
Birinchi bo‘lib yozing: bu mavzuda nima yordam berdi — yoki nimani aniqroq tushuntirish kerak.