Test desenleri
- C kursu
- İleri seviye
- Ders 71/83
- 5 dk
Yaygın test desenlerini öğrenirsin.
Test desenleri
Test desenleri (test patterns), tekrarlanan test ihtiyaçlarını çözen şablonlardır. En bilineni setup/teardown: test öncesi hazırlık ve sonrası temizlik. Bu desen, testlerin birbirinden bağımsız çalışmasını sağlar.
setup(void) test öncesi çağrılır; kaynakları hazırlar. teardown(void) test sonrası çağrılır; kaynakları serbest bırakır. Bir test işlevi bunların arasında çalışır. Bu, gerçek çerçevelerin (Unity, CMocka) fixture mekanizmasının temelidir.
Setup/teardown iskeleti
Bir setup işlevi kaynakları hazırlar ve başarı bayrağı döndürür; teardown temizler. Main içinde sıra şöyledir: setup(); test(); teardown();.
Örnek: int setup(void) { printf("kuruldu\n"); return 1; } ve void teardown(void) { printf("yıkıldı\n"); }. Main: setup(); printf("test: tamam\n"); teardown();. Çıktı: kuruldu, test: tamam, yıkıldı. Bu üç satır, gerçek bir fixture'ın minimum iskeletidir.
Uygulama Setup/teardown deseni
int setup(void) yaz: printf("kuruldu\n"); return 1;. void teardown(void) yaz: printf("yıkıldı\n");. main'de sırayla setup();, printf("test: tamam\n");, teardown(); çağır.
Başlangıç kodu
#include <stdio.h>
// int setup(void) yaz: "kuruldu" yazdır, 1 döndür
// void teardown(void) yaz: "yıkıldı" yazdır
// main: setup, test iletisi, teardown sırasıyla çağır
int main(void) {
return 0;
}Örnek çözüm
#include <stdio.h>
int setup(void) {
printf("kuruldu\n");
return 1;
}
void teardown(void) {
printf("yıkıldı\n");
}
int main(void) {
setup();
printf("test: tamam\n");
teardown();
return 0;
}Beklenen çıktı
kuruldu test: tamam yıkıldı
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Desen adımlarını eşle
| Kavram | Anlamı |
|---|---|
setup |
Öncesi hazırlık |
teardown |
Sonrası temizlik |
test |
Çalışan kısım |
fixture |
Yapı iskeleti |
2 setup işlevi ne zaman çağrılır?
- Test çalıştırma için
- Test sonrası temizlik için
- Test öncesi hazırlık için Doğru cevap
- Test raporu için
Açıklama: setup testten önce kaynakları hazırlar.
3 setup dönüş değeri
int setup(void) { printf("kuruldu
"); return ____; }
int setup(void) { printf("kuruldu
"); return 1; }
Açıklama: setup başarı bayrağı olarak 1 döndürür.