Test Filtreleme
Suite'ler ve testler için filtreleme, zaman aşımları, eşzamanlı çalıştırma
CLI
Test dosyalarını ada göre filtrelemek için CLI'yı kullanabilirsiniz:
$ vitest basic
Bu, adında basic
geçen tüm test dosyalarını çalıştırır:
basic.test.ts
basic-foo.test.ts
basic/foo.test.ts
Ayrıca, testleri tam ada göre filtrelemek için -t, --testNamePattern <pattern>
seçeneğini kullanabilirsiniz. Bu, dosya adının kendisi yerine bir dosya içinde tanımlanan ada göre filtrelemek istediğinizde yararlı olabilir.
Zaman Aşımı Belirtme
Testlere isteğe bağlı olarak, üçüncü argüman olarak milisaniye cinsinden bir zaman aşımı değeri geçirebilirsiniz. Varsayılan değer 5 saniyedir.
import { test } from 'vitest';
test('name', async () => {
/* ... */
}, 1000);
Hook'lar da varsayılan olarak aynı 5 saniyelik zaman aşımına sahiptir.
import { beforeAll } from 'vitest';
beforeAll(async () => {
/* ... */
}, 1000);
Suite'leri ve Testleri Atlamak
Belirli test suitlerini veya testleri çalıştırmayı atlamak için .skip
kullanın.
import { assert, describe, it } from 'vitest';
describe.skip('atlanan suite', () => {
it('test', () => {
// Suite atlandı, hata yok
assert.equal(Math.sqrt(4), 3);
});
});
describe('suite', () => {
it.skip('atlanan test', () => {
// Test atlandı, hata yok
assert.equal(Math.sqrt(4), 3);
});
});
Çalıştırılacak Suite'leri ve Testleri Seçmek
Yalnızca belirli suite'leri veya testleri çalıştırmak için .only
kullanın.
import { assert, describe, it } from 'vitest';
// Sadece bu suite (ve .only ile işaretlenmiş diğerleri) çalıştırılır
describe.only('suite', () => {
it('test', () => {
assert.equal(Math.sqrt(4), 3);
});
});
describe('another suite', () => {
it('atlanan test', () => {
// Testler yalnızca modunda çalıştığı için bu test atlandı
assert.equal(Math.sqrt(4), 3);
});
it.only('test', () => {
// Sadece bu test (ve .only ile işaretlenmiş diğerleri) çalıştırılır
assert.equal(Math.sqrt(4), 2);
});
});
Uygulanmamış Suite'ler ve Testler
Henüz uygulanmamış test suitlerini ve testleri belirtmek için .todo
kullanın.
import { describe, it } from 'vitest';
// Bu test suiti için raporda bir girdi gösterilecektir
describe.todo('uygulanmamış suite');
// Bu test için de raporda bir girdi gösterilecektir
describe('suite', () => {
it.todo('uygulanmamış test');
});