Neden Test Yapılır
Hataları kullanıcılar görmeden yakalayın.
Neden Test Yapılır, CoddyKit'te ücretsiz bir Lua Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Lua Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Lua Academy kursu toplamda 4 dersten oluşur.
Neden Test Yapılır
Otomatik testler, kodunuzu denetleyen koddur. Bir programı elle çalıştırıp çıktıyı gözle kontrol etmek yerine, test çalıştırıcısının sizin için doğrulayacağı küçük doğrulamalar yazarsınız.
Lua için en popüler çerçeve busted'dır. Davranışı açıklamak ve başarılı ya da başarısız sonuçları bildirmek için temiz bir söz dizimi sunar.
Test Olmamasının Bedeli
Testler olmadan her değişiklik bir kumardır. Bir hatayı düzeltirken fark etmeden başka bir hataya yol açabilirsiniz. Kod tabanı büyüdükçe elle denetimi kapsamlı biçimde yapmak imkânsızlaşır.
Testler bir güvenlik ağı görevi görür. Yeniden düzenleme yaptığınızda, başarılı bir test paketi davranışın korunduğunu gösterir.
İlk Test Dosyası
Bir busted test dosyası genellikle spec/ klasöründe bulunur ve _spec.lua ile biter. İçinde neyi test ettiğinizi açıklarsınız.
İşte işe yarayan en küçük örnek. Basit aritmetiğin çalıştığını denetler.
describe("math", function()
it("adds numbers", function()
assert.are.equal(4, 2 + 2)
end)
end)busted'ı Çalıştırma
busted'ı LuaRocks ile yüklersiniz: luarocks install busted. Ardından projenizin kök dizininde busted komutunu çalıştırın.
_spec.lua ile biten dosyaları bulur, her it bloğunu çalıştırır ve her başarılı sonuç için bir nokta, her başarısız sonuç için F yazdırır.
Kendi Modülünüzü Test Etme
Gerçek testler, test edilen modülü require ile içe aktarır. Modülün işlevlerini çağırır ve sonucu doğrularsınız.
Bir işlevler tablosu döndüren calculator.lua adlı bir modülünüz olduğunu varsayalım.
local calc = require("calculator")
describe("calculator", function()
it("multiplies", function()
assert.are.equal(6, calc.mul(2, 3))
end)
end)Belgeleme Olarak Testler
İyi yazılmış testler aynı zamanda yaşayan belgelerdir. Yeni bir geliştirici belirtim dosyasını okuyarak bir işlevin tam olarak nasıl davranması gerektiğini anlayabilir.
Açıklamalar düz dizeler olduğundan neredeyse cümleler gibi okunurlar: "hesap makinesi çarpar".
describe("string utils", function()
it("trims whitespace", function()
assert.are.equal("hi", utils.trim(" hi "))
end)
end)Hızlı Geri Bildirim Döngüleri
Testlerin asıl gücü hızdır. Tüm paketi çalıştırmak saniyeler sürer; bu, bir uygulamayı elle tıklayarak denemekten çok daha hızlıdır.
Geliştirme sırasında geri bildirimi hızlı tutmak için busted'ı izleme modunda çalıştırabilir veya tek bir dosyayı hedefleyebilirsiniz.
-- run only one file
-- busted spec/calculator_spec.luaGerilemeleri Yakalama
Gerileme, daha önce çalışan kodda yeniden ortaya çıkan bir hatadır. Bir hata bulduğunuzda en iyi uygulama, önce hatayı yeniden üreten bir test yazmaktır.
Test başarısız olduğunda, başarılı olana kadar kodu düzeltirsiniz. Böylece test, hatanın geri dönmesine karşı koruma sağlar.
it("handles empty input", function()
assert.are.equal(0, calc.sum({}))
end)İyi Bir Testi İyi Yapan Nedir
İyi testler hızlı, yalıtılmış ve belirlenebilirdir. Denetlenmedikleri sürece ağa, zamana veya rastgele değerlere bağlı olmamalıdırlar.
Her test tek ve açık bir davranışı denetlemelidir. Bir test başarısız olduğunda, adı gövdeyi okumadan neyin bozulduğunu anlatmalıdır.
Test Piramidi
Test piramidi çok sayıda küçük birim testi, daha az sayıda tümleştirme testi ve çok az sayıda uçtan uca test önerir. Birim testleri ucuz ve hızlı olduğundan onları tercih edin.
busted öncelikle birim testi aracıdır; ancak onu tümleştirme testleri için de kullanabilirsiniz.
Değişiklik Yapma Güveni
Test etmenin en büyük yararı güvendir. Güvenilir bir paket sayesinde kapsamlı yeniden düzenleme yapabilir, bağımlılıkları yükseltebilir ve daha hızlı yayımlayabilirsiniz.
Bu kurs size busted'ı temelden öğretir: yapı, doğrulamalar ve mock'lar ile spy'lar gibi test çiftleri.
describe("feature", function()
it("still works after refactor", function()
assert.is_true(feature.enabled())
end)
end)Hızlı Kontrol
Neden test yazdığımızı ne kadar anladığınızı test edin.
Özet
Testler, kodu doğrulayan koddur. busted, Lua'nın önde gelen çerçevesidir; _spec.lua dosyalarını bulur ve başarılı ya da başarısız sonuçları bildirir.
İyi testler hızlı, yalıtılmış ve belirlenebilirdir. Gerilemeleri yakalar, belge görevi görür ve kodu özgürce değiştirebilmeniz için güven sağlarlar.
Sıkça Sorulan Sorular
“Neden Test Yapılır” dersi ücretsiz mi?
Evet — “Neden Test Yapılır” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Lua Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Lua Academy kursu toplamda 4 dersten oluşur.
“Neden Test Yapılır” dersinde ne öğreneceğim?
Hataları kullanıcılar görmeden yakalayın. Lua Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Lua Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Lua Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Neden Test Yapılır” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Lua Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Lua Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Neden Test Yapılır
- describe ve it Blokları
- Doğrulamalar
- Sahte Nesneler ve Casuslar