0Pricing
TypeScript Academy · Ders

expectTypeOf ve tsd ile Tür Testi

Çalışma zamanı davranışının yanında tür doğruluğunu da doğrulayın

expectTypeOf ve tsd ile Tür Testi, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 4. 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, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

Yalnızca çalışma zamanı davranışını değil, türlerin kendisini de test etmek, TypeScript yardımcı programlarınızın ve jenerik türlerinizin doğru çalışmasını sağlar.

Türler Neden Test Edilir

Jenerik yardımcı programlarda ve koşullu türlerde yalnızca belirli tür bağımsız değişkenlerini etkileyen hatalar olabilir. Tür testleri bunları yakalar.

Vitest'te expectTypeOf

Vitest, derleme zamanında tür doğrulamaları için expectTypeOf sağlar.
import { expectTypeOf } from 'vitest';
expectTypeOf(42).toBeNumber();
expectTypeOf('hello').toBeString();

Dönüş Türlerini Doğrulama

Bir işlevin dönüş türünü doğrulayın.
import { identity } from '../src/utils';
expectTypeOf(identity(42)).toEqualTypeOf<number>();
expectTypeOf(identity('hi')).toEqualTypeOf<string>();

tsd Kitaplığı

tsd, TypeScript bildirim dosyalarını tür testi için kullanan bir CLI aracıdır.
npm install --save-dev tsd

tsd Doğrulamaları

tsd doğrulamalarıyla .test-d.ts dosyaları yazın.
import { expectType, expectError } from 'tsd';
import { add } from '../src';
expectType<number>(add(1, 2));
expectError(add('a', 'b'));

expect-type Kitaplığı

expect-type kitaplığı, Jest ile uyumlu tür doğrulamaları sağlar.
import { expectTypeOf } from 'expect-type';
expectTypeOf<User>().toHaveProperty('name').toBeString();

Koşullu Türleri Test Etme

Koşullu türlerin çeşitli girdiler için doğru çıktıyı ürettiğini doğrulayın.
type IsArray<T> = T extends any[] ? true : false;
expectTypeOf<IsArray<string[]>>().toEqualTypeOf<true>();
expectTypeOf<IsArray<string>>().toEqualTypeOf<false>();

Eşlenmiş Türleri Test Etme

Eşlenmiş tür yardımcı programlarının doğru yapıları ürettiğinden emin olun.
type Mutable = { -readonly [K in keyof ReadonlyUser]: ReadonlyUser[K] };
expectTypeOf<Mutable['name']>().toBeString();
expectTypeOf<Mutable>().not.toMatchTypeOf<Readonly<Mutable>>();

CI'da tsd Çalıştırma

Tür gerilemelerini yakalamak için tsd'yi CI işlem hattınıza ekleyin.
// package.json
{ "scripts": { "test:types": "tsd" } }

Tür Testleri ve Çalışma Zamanı Testleri

Tür testleri derleme zamanında çalışır (çalışma zamanı maliyeti sıfırdır). Çalışma zamanı testleri davranışı doğrular. İkisi de gereklidir.

Hızlı Kontrol

`expectTypeOf(add(1, 2)).toEqualTypeOf()` neyi doğrular?

Özet

expectTypeOf ve tsd ile Tür Testi: temel kavram ve kalıplara hâkim oldunuz.

Sıkça Sorulan Sorular

“expectTypeOf ve tsd ile Tür Testi” dersi ücretsiz mi?

Evet — “expectTypeOf ve tsd ile Tür Testi” 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 TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 4 dersten oluşur.

“expectTypeOf ve tsd ile Tür Testi” dersinde ne öğreneceğim?

Çalışma zamanı davranışının yanında tür doğruluğunu da doğrulayın TypeScript 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.

TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te TypeScript 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 4. dersidir.

“expectTypeOf ve tsd ile Tür Testi” 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 TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her TypeScript 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

  1. ts-jest ile TypeScript için Jest Kurulumu
  2. Tür Güvenli Birim Testleri Yazma
  3. TypeScript'te Modül ve Fonksiyonları Taklit Etme
  4. expectTypeOf ve tsd ile Tür Testi
← TypeScript Academy Sayfasına Dön