Skip to content
Vitest 2
Main Navigation KılavuzAPIYapılandırmaTarayıcı Moduİleri
2.1.9
1.6.1
0.34.6

Türkçe

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
čeština
magyar

Türkçe

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
čeština
magyar

Görünüm

Sidebar Navigation

Neden Vitest

Başlangıç

Özellikler

Çalışma Alanı

Komut Satırı Arayüzü

Test Filtreleme

Raporlayıcılar

Kapsam

Anlık Görüntü (Snapshot) Testleri

Sahtecilik (Mocking)

Türleri Test Etme

Vitest Arayüzü

Kaynak İçi Test

Test Bağlamı

Test Ortamı

Eşleştiricileri Genişletme

IDE Tümleştirmeleri

Hata Ayıklama

Diğer Test Çalıştırıcılarıyla Karşılaştırmalar

Geçiş Rehberi

Yaygın Hatalar

Profiling Test Performance

Performansı İyileştirme

Bu sayfada

Kaynak İçi Test ​

Vitest, Rust'ın modül testlerine benzer şekilde, testleri kaynak kodunuzun içinde, uygulamanızın yanında çalıştırmanıza olanak tanır.

Bu yaklaşım, testlerin uygulamayla aynı kapsamı paylaşmasını ve özel durumları dışa aktarmadan test edebilmesini sağlar. Aynı zamanda, geliştirme sürecinde daha hızlı geri bildirim almanızı sağlar.

WARNING

Bu kılavuz, kaynak kodunuzun içine test yazmayı açıklar. Ayrı test dosyalarına test yazmanız gerekiyorsa, "Test Yazma" kılavuzunu izleyin.

Kurulum ​

Başlamak için, kaynak dosyanızın sonuna bir if (import.meta.vitest) bloğu ekleyin ve içine birkaç test yazın. Örneğin:

ts
// src/index.ts

// uygulama
export function add(...args: number[]) {
  return args.reduce((a, b) => a + b, 0);
}

// kaynak içi test kümeleri
if (import.meta.vitest) {
  const { it, expect } = import.meta.vitest;
  it('add', () => {
    expect(add()).toBe(0);
    expect(add(1)).toBe(1);
    expect(add(1, 2, 3)).toBe(6);
  });
}

Vitest için includeSource yapılandırmasını, src/ dizini altındaki dosyaları içerecek şekilde güncelleyin:

ts
// vitest.config.ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    includeSource: ['src/**/*.{js,ts}'], 
  },
});

Artık test etmeye başlayabilirsiniz!

bash
$ npx vitest

Üretim Derlemesi ​

Üretim derlemesi için, yapılandırma dosyanızda define seçeneklerini ayarlamanız gerekecektir. Bu sayede paketleyici, kullanılmayan kodu (dead code) ortadan kaldırabilir. Örneğin, Vite'de:

ts
// vitest.config.ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    includeSource: ['src/**/*.{js,ts}'],
  },
  define: {
    'import.meta.vitest': 'undefined', 
  }, 
});

Diğer Paketleyiciler ​

unbuild
ts
// build.config.ts
import { defineBuildConfig } from 'unbuild';

export default defineBuildConfig({
  replace: {
    'import.meta.vitest': 'undefined', 
  }, 
  // other options
});

Daha fazla bilgi için: unbuild

rollup
ts
// rollup.config.js
import replace from '@rollup/plugin-replace'; 

export default {
  plugins: [
    replace({
      'import.meta.vitest': 'undefined', 
    }), 
  ],
  // other options
};

Daha fazla bilgi için: Rollup

TypeScript ​

import.meta.vitest için TypeScript desteği almak için, tsconfig.json dosyanıza vitest/importMeta ekleyin:

json
// tsconfig.json
{
  "compilerOptions": {
    "types": [
      "vitest/importMeta"
    ]
  }
}

Tam bir örnek için examples/in-source-test adresine bakabilirsiniz.

Notlar ​

Bu özellik şu durumlarda faydalı olabilir:

  • Küçük kapsamlı fonksiyonlar veya yardımcı araçlar için birim testleri
  • Prototipleme
  • Satır İçi Doğrulama

Bileşenler veya E2E testleri gibi daha karmaşık testler için ayrı test dosyaları kullanmanız önerilir.

Pager
Önceki sayfaVitest Arayüzü
Sonraki sayfaTest Bağlamı

MIT Lisansı altında yayınlanmıştır.

Copyright (c) 2024 Mithril Contributors

https://v2.vitest.dev/guide/in-source

MIT Lisansı altında yayınlanmıştır.

Copyright (c) 2024 Mithril Contributors