Testda nima xatolik bor?
Quyidagi pow testida nima nosozlik?
it("x ni n darajaga ko'taradi", function () {
let x = 5;
let result = x;
assert.equal(pow(x, 1), result);
result *= x;
assert.equal(pow(x, 2), result);
result *= x;
assert.equal(pow(x, 3), result);
});
P.S. Sintaktik ravishda test toâgâri va muvaffaqiyatli oâtadi.
Sinov dasturchi testlarni yozishda uchraydigan vasvasalardan birini namoyish etadi.
Bu yerda mavjud boâlgan narsa aslida uchta test, ammo uchta assert(tasdiq) bilan bitta funktsiya sifatida yaratilgan.
Baâzan bu tarzda yozish osonroq boâladi, ammo agar xato yuzaga kelsa, unda nima sodir boâlgani aniq boâlmaydi.
Agar murakkab ijro oqimida xatolik yuz bersa, biz oâsha paytda maâlumotlarni aniqlab olishimiz kerak boâladi. Aslida testni koddagi nosozliklarini tuzatishimiz kerak.
Testni aniq yozilgan kirish va chiqish natijalari bilan bir nechta âitâ bloklariga ajratish yaxshiroq boâlar edi.
Shunga oâxshash:
describe("x ni n darajaga ko'taradi", function () {
it("5 ning 1 chi darajasi 5 ga teng", function () {
assert.equal(pow(5, 1), 5);
});
it("5 ning 2 chi darajasi 25 ga teng", function () {
assert.equal(pow(5, 2), 25);
});
it("5 ning 3 chi darajasi 125 ga teng", function () {
assert.equal(pow(5, 3), 125);
});
});
Biz bitta it ni describe va bir guruh it bloklari bilan almashtirdik. Agar biron bir narsa ishlamay qolsa, biz maâlumotlar qanday ekanligini aniq bilib olamiz.
Shuningdek, biz bitta testni ajratib olishimiz va uni it oârniga it...only yozish orqali mustaqil rejimda ishlashimiz mumkin:
describe("x ni n darajaga ko'tariladi", function() {
it("5 ning 1 chi darajasi 5 ga teng", function() {
assert.equal(pow(5, 1), 5);
});
// Mocha faqat ushbu blokni bajaradi
it.only("5 ning 2 chi darajasi 25 ga teng", function() {
assert.equal(pow(5, 2), 25);
});
it("5 ning 2 chi darajasi 125 ga teng", function() {
assert.equal(pow(5, 3), 125);
});
});
