dart test
- Dart kursu
- Orta seviye
- Ders 82/116
- 5 dk
dart test çerçevesini öğrenirsin.
dart test çerçevesi
dart test, Dart'ın yerleşik test çerçevesidir. Testler test/ klasörüne *_test.dart uzantısıyla yazılır. Komut satırından dart test ile çalıştırılır.
Bir test dosyası import 'package:test/test.dart'; ile başlar. Her test, test('açıklama', () { ... }) biçiminde yazılır. İçinde expect ile iddialarda bulunursun.
Testler, kodunun beklenen gibi davrandığını doğrular. Yanlış bir değişiklik testin kırmızı olmasını sağlar; böylece hatayı erken yakalarsın.
Test dosyası iskeleti
Bir test dosyasının iskeleti şöyledir: import 'package:test/test.dart'; ile başlar, sonra test('toplama', () { expect(2 + 3, equals(5)); }); yazılır. Burada expect gerçek ile beklenen değeri karşılaştırır.
equals(5) bir eşleştiricidir (matcher). Beklenen değer 5'tir; gerçek değer 2 + 3 = 5'tir. Eşitse test yeşil, değilse kırmızı olur.
Her test kısa ve tek bir davranışı sınamalıdır. Açıklama, ne sınandığını anlatır.
Uygulama Calculator sınıfı
Bir Calculator sınıfı tanımla: int add(int a, int b) => a + b; metodu olsun. main içinde Calculator().add(2, 3) sonucunu print ile yazdır.
Başlangıç kodu
// Calculator sınıfını tanımla, add metodu ekle
void main() {
// add(2, 3) sonucunu yazdır
}Örnek çözüm
class Calculator {
int add(int a, int b) => a + b;
}
void main() {
print(Calculator().add(2, 3));
}Beklenen çıktı
5
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 dart test komutu neyi çalıştırır?
- lib/ klasörünü
- pubspec.yaml'ı
- bin/ klasörünü
- test/ klasöründeki *_test.dart dosyalarını Doğru cevap
Açıklama: dart test test/ içindeki *_test.dart dosyalarını çalıştırır.
2 test paketini içe aktar
import 'package:test/____.dart';
import 'package:test/test.dart';
Açıklama: test paketi 'package:test/test.dart' ile içe aktarılır.
3 Test dosyası parçaları
| Kavram | Anlamı |
|---|---|
test/ |
Test klasörü |
*_test.dart |
Test dosyası adı |
import 'package:test/test.dart' |
İçe aktarım |
test('...', () {}) |
Test bloğu |