Vitest
npm install @tracera/vitest
Node.js ≥ 22.19 चाहिए (देखें ऑटोटेस्ट एडेप्टर)। @tracera/vitest npm पर.
vitest.config.ts में:
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
runner: '@tracera/vitest/runner',
setupFiles: ['@tracera/vitest/setup'],
reporters: ['default', '@tracera/vitest/reporter'],
},
});
रीट्राई चालू हो तो केवल अंतिम Vitest प्रयास रिपोर्ट होता है। अगर वह रीट्राई है (retry > 0), परिणाम Env टैब में VITEST_RETRY आता है (1 दूसरा रन है)।
एनवायरनमेंट वेरिएबल और रन मोड: ऑटोटेस्ट एडेप्टर।
testCaseId और autotestName बाँधना
test / expect / hooks vitest से इम्पोर्ट करें, और tracera / annotations @tracera/vitest से। कस्टम runner ज़रूरी है ताकि स्टॉक hooks में स्टेप्स सेटअप / टीयरडाउन में जाएँ (Vitest hook exports को फ्रीज़ करता है)। @tracera/vitest/setup प्रति-टेस्ट कॉन्टेक्स्ट खोलता है। अगर autotestName न दें, तो एडेप्टर Vitest टेस्ट का नाम लेता है।
घोषणा पर (पसंदीदा — बॉडी जल्दी छोड़ दे तो भी बाइंड चलता है):
import { test, expect } from 'vitest';
import { annotations } from '@tracera/vitest';
test('login', { meta: annotations(42, 'e2e/login') }, async () => {
expect(true).toBe(true);
});
टेस्ट के अंदर (अगर annotations पहले से केस बाँध चुके हों तो वैकल्पिक):
import { test, expect } from 'vitest';
import { tracera } from '@tracera/vitest';
test('login', async () => {
tracera.testCase(42, 'e2e/login');
expect(true).toBe(true);
});
स्टेप्स
tracera.step इस्तेमाल करें। runner: "@tracera/vitest/runner" के साथ स्टॉक beforeEach / afterEach के अंदर स्टेप्स सेटअप / टीयरडाउन में जाते हैं।
import { test, beforeEach, afterEach } from 'vitest';
import { tracera } from '@tracera/vitest';
beforeEach(async () => {
await tracera.step('open shop', async () => {
// …
});
});
test('checkout', async () => {
tracera.testCase(10, 'e2e/checkout');
await tracera.step('add to cart', async () => {
// …
});
});
afterEach(async () => {
await tracera.step('cleanup', async () => {
// …
});
});
टिप्पणियाँ, त्रुटियाँ और अटैचमेंट
स्टेप के अंदर उस स्टेप के फ़ील्ड। स्टेप के बाहर रिजल्ट के फ़ील्ड। फ़ाइलों के लिए tracera.attachment इस्तेमाल करें (परिणाम पर अधिकतम 10 अटैचमेंट और हर चरण पर 10)।
import { test } from 'vitest';
import { tracera } from '@tracera/vitest';
test('login', async () => {
tracera.testCase(42, 'e2e/login');
tracera.comment('result-level note');
tracera.error('result-level error text');
await tracera.step('open login', async () => {
tracera.comment('landed on login');
tracera.attachment({
fileName: 'suite-log.txt',
mimeType: 'text/plain',
data: new TextEncoder().encode('finished login flow'),
});
});
});