Skip to content
Vitest 0
Main Navigation KılavuzAPIYapılandırmaİleri
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

Kılavuz

Neden Vitest

Başlangıç

Özellikler

Çalışma Alanı

Komut Satırı Arayüzü

Test Filtreleme

Kapsam

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

Sahtecilik (Mocking)

Tür Testleri

Vitest Arayüzü

Tarayıcı Modu (deneysel)

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

API

Test API Başvurusu

Mock Fonksiyonlar

Vi

expect

expectTypeOf

assertType

Yapılandırma

Vitest'i Yapılandırma

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.

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
// vite.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:

diff
// vite.config.ts
import { defineConfig } from 'vitest/config'

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

Diğer Paketleyiciler ​

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

export default defineBuildConfig({
+ replace: {
+   'import.meta.vitest': 'undefined',
+ },
  // diğer seçenekler
})

Daha fazla bilgi için: unbuild

rollup
diff
// rollup.config.js
+ import replace from '@rollup/plugin-replace'

export default {
  plugins: [
+   replace({
+     'import.meta.vitest': 'undefined',
+   })
  ],
  // diğer seçenekler
}

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:

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

Tam bir örnek için test/import-meta 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 sayfaTarayıcı Modu (deneysel)
Sonraki sayfaTest Bağlamı

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

Copyright (c) 2024 Mithril Contributors

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

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

Copyright (c) 2024 Mithril Contributors