0Pricing
TypeScript Academy · Ders

TypeScript'te Modül ve Fonksiyonları Taklit Etme

Doğru tür dönüştürme stratejileriyle jest.mock kullanın

TypeScript'te Modül ve Fonksiyonları Taklit Etme, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 3. 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

TypeScript ile Jest modülü sahteleme, any türündeki sahte nesnelerden kaçınmak için doğru tür dönüştürme stratejileri gerektirir.

Türlerle jest.fn()

Bir jest sahte işlevini imzasıyla türlendirin.
const mockFn = jest.fn<number, [string]>();
mockFn('hello'); // typed call

jest.mock() ve TypeScript

jest.mock varsayılan olarak tür belirtilmemiştir. Tür belirtilmiş erişim elde etmek için değeri jest.MockedFunction olarak dönüştürün.
jest.mock('./api');
import { fetchUser } from './api';
const mockFetch = fetchUser as jest.MockedFunction<typeof fetchUser>;

jest.mocked() Yardımcısı

Jest 27 ve üzeri, sahteleştirilmiş modülleri temiz biçimde türlendirmek için jest.mocked() sağlar.
jest.mock('./api');
import { fetchUser } from './api';
const mockFetch = jest.mocked(fetchUser);
mockFetch.mockResolvedValue({ id: 1, name: 'Alice' });

Dönüş Değerlerini Sahteleme

mockReturnValue ve mockResolvedValue öğelerini doğru şekilde türlendirin.
mockFetch.mockResolvedValue({ id: 1, name: 'Alice' }); // must match User type

Metotları İzleme

Tür belirtilmiş metot izleme için jest.spyOn kullanın.
const spy = jest.spyOn(userService, 'findUser');
spy.mockResolvedValue(mockUser);

Modüllerin Tümünü Sahteleme

El ile yazılmış fabrika işlevleriyle bir modülün tamamını sahteleyin.
jest.mock('./db', () => ({
  findUser: jest.fn(),
  createUser: jest.fn(),
}));

Otomatik Sahteleme

jest.createMockFromModule mevcut bir modülden sahte nesne oluşturur.
const mockDb = jest.createMockFromModule<typeof import('./db')>('./db');

Kısmi Sahte Nesneler

Bir modülün yalnızca bazı metotlarını sahteleyin.
jest.mock('./email', () => ({ ...jest.requireActual('./email'), sendEmail: jest.fn() }));

Sahte Nesneleri Temizleme

Durum sızıntısını önlemek için testler arasında sahte nesneleri sıfırlayın.
afterEach(() => { jest.clearAllMocks(); });
// Or globally: jest.config clearMocks: true

Tür Güvenli Sahte Nesneler

Bağımlılık ekleme testleri için tür belirtilmiş sahte nesneler oluşturun.
const mockRepo: jest.Mocked<UserRepository> = {
  findById: jest.fn(),
  save: jest.fn(),
  delete: jest.fn(),
};

Hızlı Kontrol

`jest.mocked(fn)` TypeScript'te ne yapar?

Özet

TypeScript'te Modül ve İşlev Sahteleme: temel kavram ve kalıplara hâkim oldunuz.

Sıkça Sorulan Sorular

“TypeScript'te Modül ve Fonksiyonları Taklit Etme” dersi ücretsiz mi?

Evet — “TypeScript'te Modül ve Fonksiyonları Taklit Etme” 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.

“TypeScript'te Modül ve Fonksiyonları Taklit Etme” dersinde ne öğreneceğim?

Doğru tür dönüştürme stratejileriyle jest.mock kullanı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 3. dersidir.

“TypeScript'te Modül ve Fonksiyonları Taklit Etme” 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