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

Çalışma Alanı ​

Vitest, çalışma alanı yapılandırma dosyası aracılığıyla monorepo'lar için yerleşik destek sunar. Proje ayarlarınızı tanımlamak için bir çalışma alanı oluşturabilirsiniz.

Çalışma Alanı Tanımlama ​

Bir çalışma alanı, kök dizininde bir vitest.workspace veya vitest.projects dosyasına sahip olmalıdır (varsa yapılandırma dosyanızla aynı klasörde). Vitest, bu dosya için ts/js/json uzantılarını destekler.

Çalışma alanı yapılandırma dosyası, projelerinizi işaret eden dosya yollarının veya glob desenlerinin bir listesini varsayılan olarak dışa aktarmalıdır. Örneğin, packages adlı projelerinizle bir klasörünüz varsa, aşağıdaki yapılandırma dosyasıyla bir çalışma alanı tanımlayabilirsiniz:

ts
export default ['packages/*'];

Vitest, packages içindeki her klasörü - yapılandırma dosyası bulunmasa bile - ayrı bir proje olarak değerlendirecektir.

WARNING

Vitest, kök dizindeki yapılandırma dosyasını bir çalışma alanı projesi olarak değerlendirmez (dolayısıyla, bu yapılandırma dosyasında belirtilmediği sürece include içinde belirtilen testleri çalıştırmaz).

Projeleri yapılandırma dosyalarıyla da referans gösterebilirsiniz:

ts
export default ['packages/*/vitest.config.{e2e,unit}.ts'];

Bu kalıp, yalnızca dosya adında uzantıdan önce e2e veya unit ifadelerini içeren vitest.config dosyalarına sahip projeleri dahil edecektir.

WARNING

Glob deseniyle dosya adlarına başvuruyorsanız, yapılandırma dosyanızın vite.config veya vitest.config ile başladığından emin olun. Aksi takdirde, Vitest bu dosyayı atlayacaktır.

Ayrıca, projeleri doğrudan yapılandırma nesneleriyle de tanımlayabilirsiniz. Çalışma alanı dosyası, aynı anda her iki sözdizimini de kullanmayı destekler.

ts
import { defineWorkspace } from 'vitest/config';

// defineWorkspace, geliştirici dostu tür ipuçları sağlar
export default defineWorkspace([
  'packages/*',
  {
    // iki yapılandırmayı birleştirmek için "extends" ekleyin
    extends: './vite.config.js',
    test: {
      include: ['tests/**/*.{browser}.test.{ts,js}'],
      // doğrudan yapılandırmalar kullanırken bir ad tanımlamanız önerilir
      name: 'happy-dom',
      environment: 'happy-dom',
    },
  },
  {
    test: {
      include: ['tests/**/*.{node}.test.{ts,js}'],
      name: 'node',
      environment: 'node',
    },
  },
]);

WARNING

Tüm projelerin benzersiz adları olmalıdır. Aksi takdirde, bir hata oluşacaktır. Doğrudan yapılandırmanın içinde bir ad belirtmezseniz, Vitest bir sayı atayacaktır. Glob sözdizimiyle tanımlanan bir proje yapılandırmasının içinde bir ad belirtmezseniz, Vitest varsayılan olarak dizin adını kullanacaktır.

Doğrudan yapılandırmalar kullanmıyorsanız, kök dizininizde basit bir JSON dosyası oluşturabilirsiniz:

json
["packages/*"]

Çalışma alanı projeleri tüm yapılandırma özelliklerini desteklemez. Daha iyi tür güvenliği sağlamak için, proje yapılandırma dosyalarınızda defineConfig yöntemi yerine defineProject yöntemini kullanın:

ts
import { defineProject } from 'vitest/config';

export default defineProject({
  test: {
    environment: 'jsdom',
    // "reporters" bir proje yapılandırmasında desteklenmiyor,
    // bu nedenle bir hata gösterecektir
    reporters: ['json'],
  },
});

Yapılandırma ​

Yapılandırma seçeneklerinin hiçbiri kök dizindeki yapılandırma dosyasından devralınmaz. Paylaşılan bir yapılandırma dosyası oluşturabilir ve bunu proje yapılandırmasıyla birleştirebilirsiniz:

ts
import { defineProject, mergeConfig } from 'vitest/config';
import configShared from '../vitest.shared.js';

export default mergeConfig(
  configShared,
  defineProject({
    test: {
      environment: 'jsdom',
    },
  })
);

Ayrıca, yapılandırma seçeneklerinden bazılarına bir proje yapılandırmasında izin verilmez. En önemlileri:

  • coverage: kapsam tüm çalışma alanı için uygulanır
  • reporters: yalnızca kök dizindeki raporlayıcılar desteklenir
  • resolveSnapshotPath: yalnızca kök dizindeki çözümleyici dikkate alınır
  • test çalıştırıcılarını etkilemeyen diğer tüm seçenekler

TIP

Bir proje yapılandırmasının içinde desteklenmeyen tüm yapılandırma seçenekleri, "Yapılandırma" sayfasında yanlarında * işaretine sahiptir.

Kapsam ​

Çalışma alanı projelerinde kapsam özelliği varsayılan olarak etkindir. Ancak all seçeneği etkinse ve bazı projelerinizde standart olmayan uzantılar kullanıyorsanız, kök yapılandırma dosyanızda bu uzantıyı işleyen bir eklentiye ihtiyacınız olacaktır.

Örneğin, Vue dosyaları kullanan ve kendi yapılandırma dosyasına sahip bir paketiniz varsa, ancak bazı dosyalar testlerinize aktarılmazsa, kapsam kullanılmayan dosyaların kullanımını analiz etmeye çalışırken başarısız olur, çünkü proje yapılandırması yerine kök dizindeki yapılandırmaya bağlıdır.

Pager
Önceki sayfaÖzellikler
Sonraki sayfaKomut Satırı Arayüzü

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

Copyright (c) 2024 Mithril Contributors

https://v0.vitest.dev/guide/workspace

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

Copyright (c) 2024 Mithril Contributors