Vitest Yapılandırma Dosyasını Yönetme
Vite kullanıyorsanız ve bir vite.config dosyanız varsa, Vitest, Vite uygulamanızla uyumlu olması için eklentileri ve yapılandırmayı okuyacaktır. Testler için farklı bir yapılandırmaya ihtiyacınız varsa veya ana uygulamanız özellikle Vite'e bağımlı değilse, şunları yapabilirsiniz:
vitest.config.tsoluşturun. Bu dosya, daha yüksek önceliğe sahip olacak vevite.config.tsdosyasındaki yapılandırmayı geçersiz kılacaktır. (Vitest, tüm yaygın JS ve TS uzantılarını destekler, ancakjson'ı desteklemez.) Bu,vite.configdosyanızdaki tüm seçeneklerin yoksayılacağı anlamına gelir.- Komut satırına
--configseçeneğini ekleyin, örneğin:vitest --config ./path/to/vitest.config.ts vite.config.tsiçinde farklı bir yapılandırmayı koşullu olarak ayarlamak içinprocess.env.VITESTveyadefineConfigüzerindekimodeözelliğini kullanabilirsiniz.--modeile geçersiz kılınmadığı sürece, bu özelliktestveyabenchmarkolarak ayarlanacaktır.
vitest'i yapılandırmak için, Vite yapılandırma dosyanıza test özelliğini ekleyin. Ayrıca, defineConfig'i vite'den içe aktarıyorsanız, yapılandırma dosyanızın en üstünde bir üçlü eğik çizgi komutu kullanarak Vitest türlerine bir referans eklemeniz gerekecektir.
vite'den defineConfig kullanırken aşağıdaki gibi uygulayın:
/// <reference types="vitest" />
import { defineConfig } from 'vite';
export default defineConfig({
test: {
// ... Seçenekleri burada belirtin.
},
});vitest/config'den defineConfig kullanırken aşağıdaki gibi uygulayın:
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
// ... Seçenekleri burada belirtin.
},
});Gerekirse, varsayılan seçenekleri genişletmek için Vitest'in varsayılan seçeneklerini alabilirsiniz:
import { configDefaults, defineConfig } from 'vitest/config';
export default defineConfig({
test: {
exclude: [...configDefaults.exclude, 'packages/template/*'],
},
});Ayrı bir vitest.config.js kullanırken, ihtiyaç duyarsanız Vite'nin seçeneklerini başka bir yapılandırma dosyasından genişletebilirsiniz:
import { defineConfig, mergeConfig } from 'vitest/config';
import viteConfig from './vite.config';
export default mergeConfig(
viteConfig,
defineConfig({
test: {
exclude: ['packages/template/*'],
},
})
);Vite yapılandırmanız bir fonksiyon olarak tanımlanmışsa, yapılandırmayı şu şekilde tanımlayabilirsiniz:
import { defineConfig, mergeConfig } from 'vitest/config';
import viteConfig from './vite.config';
export default defineConfig(configEnv =>
mergeConfig(
viteConfig(configEnv),
defineConfig({
test: {
exclude: ['packages/template/*'],
},
})
)
);