group
- Dart kursu
- Orta seviye
- Ders 84/116
- 5 dk
group ile test organizasyonunu öğrenirsin.
group ile düzen
group('ad', () { ... }) ilgili testleri bir araya toplar. Örneğin bir MathUtils sınıfının testlerini group('MathUtils', () { ... }) içine koyarsın.
Gruplar test çıktısını düzenler; her test grubun adıyla birlikte görünür. Böylece büyük test dosyalarında neyin sınandığı kolay okunur.
Gruplar iç içe de olabilir. group('Math', () { group('faktoriyel', () { ... }); }) bir alt grup oluşturur.
İç içe gruplar
Gruplar iç içe kullanılabilir. Örneğin group('Math', () { group('faktoriyel', () { test('sıfır', () {}); }); }) bir hiyerarşi kurar. Çıktıda Math faktoriyel sıfır olarak görünür.
İç gruplar, dış grubun bağlamını miras alır. setUp dış grupta tanımlıysa iç gruptaki testlerde de çalışır.
Ancak çok derin yuvalama okunabilirliği azaltır. İki seviye genelde yeterlidir.
Uygulama MathUtils ve factorial
Bir MathUtils sınıfı tanımla: static int factorial(int n) metodu olsun. n <= 1 ise 1, değilse n * factorial(n - 1) döndürsün. main içinde MathUtils.factorial(5) sonucunu print ile yazdır.
Başlangıç kodu
// MathUtils sınıfını tanımla, factorial metodu ekle
void main() {
// factorial(5) sonucunu yazdır
}Örnek çözüm
class MathUtils {
static int factorial(int n) {
if (n <= 1) return 1;
return n * factorial(n - 1);
}
}
void main() {
print(MathUtils.factorial(5));
}Beklenen çıktı
120
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 group bloğu
group('MathUtils', ____ { test('toplama', () {}); });
group('MathUtils', () { test('toplama', () {}); });
Açıklama: group ikinci parametresi bir işlevdir: ().
2 group ne işe yarar?
- Bir hata fırlatır
- Bir döngü kurar
- İlgili testleri toplar Doğru cevap
- Bir dosya açar
Açıklama: group ilgili testleri bir araya toplar.
3 group parçaları
| Kavram | Anlamı |
|---|---|
group('Math', () {}) |
Dış grup |
group('faktoriyel', () {}) |
İç grup |
test('sıfır', () {}) |
Test |