0Pricing
TypeScript Academy · Pelajaran

Menulis Unit Test yang Aman Secara Tipe

Beri anotasi pada data test dan assertion dengan tipe TypeScript.

Menulis Unit Test yang Aman Secara Tipe adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar TypeScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus TypeScript Academy mencakup 4 pelajaran total.

Selamat Datang

Pengujian yang aman terhadap tipe dapat menemukan kesalahan dalam kode pengujian itu sendiri dan memastikan data pengujian Anda sesuai dengan tipe produksi.

Pemberian Tipe pada Data Pengujian

Gunakan tipe Anda untuk data pengujian — TypeScript akan menemukan data pengujian usang ketika tipe berubah.
import type { User } from '../src/types';
const mockUser: User = { id: 1, name: 'Alice', email: 'a@b.com' };
// TypeScript errors if User interface changes

Asersi Bertipe

expect() bekerja dengan nilai bertipe. TypeScript mempersempit tipe melalui asersi.
const result = add(1, 2);
expect(result).toBe(3);
const str: string = result.toString(); // result is typed as number

Pemberian Tipe pada Nilai Kembalian

Anotasikan tipe kembalian yang diharapkan untuk menemukan perubahan tipe.
const user: User | null = await findUser(1);
expect(user).not.toBeNull();
expect(user!.name).toBe('Alice');

Pembantu Pengujian Bertipe

Buat fungsi pembuat data pengujian bertipe untuk membangun data pengujian.
function createUser(overrides?: Partial<User>): User {
  return { id: 1, name: 'Test User', email: 'test@example.com', ...overrides };
}

Pemberian Tipe pada beforeEach

Berikan tipe yang benar pada variabel yang diinisialisasi dalam beforeEach.
let user: User;
beforeEach(() => { user = createUser(); });
test('has a name', () => { expect(user.name).toBeDefined(); });

Pengujian Asinkron Bertipe

Anotasikan fungsi pengujian asinkron dan tipe kembalian masing-masing.
test('fetches user', async () => {
  const user: User = await getUser(1);
  expect(user.id).toBe(1);
});

Pengujian Kesalahan dengan Tipe

Uji apakah fungsi melempar kesalahan bertipe yang benar.
await expect(getUser(-1)).rejects.toThrow(NotFoundError);

Utilitas Pengujian Generik

Buat utilitas pengujian bertipe generik untuk asersi umum.
function expectType<T>(value: T): T { return value; }
expectType<User>(response.data); // compile error if wrong type

Pengujian Snapshot dengan Tipe

Tipe TypeScript membantu Anda menulis pengujian snapshot yang akurat.
const user: User = { id: 1, name: 'Alice' };
expect(user).toMatchSnapshot();

Cakupan Pengujian dan Tipe

TypeScript memastikan utilitas pengujian mempertahankan antarmuka yang sama dengan kode produksi.

Pemeriksaan Singkat

Apa manfaat memberikan tipe `Partial` pada fungsi pembuat data pengujian?

Ringkasan

Menulis Pengujian Unit yang Aman terhadap Tipe: konsep dan pola utama telah dikuasai.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menulis Unit Test yang Aman Secara Tipe” gratis?

Ya — teks lengkap “Menulis Unit Test yang Aman Secara Tipe” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus TypeScript Academy, upgrade ke CoddyKit PRO. Kursus TypeScript Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menulis Unit Test yang Aman Secara Tipe”?

Beri anotasi pada data test dan assertion dengan tipe TypeScript. Kamu berlatih TypeScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai TypeScript Academy?

Tidak diperlukan pengalaman sebelumnya. TypeScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Menulis Unit Test yang Aman Secara Tipe” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran TypeScript Academy ini?

Ya. Setiap pelajaran TypeScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Menyiapkan Jest untuk TypeScript dengan ts-jest
  2. Menulis Unit Test yang Aman Secara Tipe
  3. Mocking Modul dan Fungsi dalam TypeScript
  4. Pengujian Tipe dengan expectTypeOf dan tsd
← Kembali ke TypeScript Academy