Test Açıklamaları
Vitest, context.annotate API aracılığıyla testlerinizi özel mesajlar ve dosyalarla açıklamanızı destekler. Bu açıklamalar test durumuna iliştirilir ve onTestAnnotate kancasında raporlayıcılara iletilir.
test('hello world', async ({ annotate }) => {
await annotate('this is my test');
if (condition) {
await annotate("this should've errored", 'error');
}
const file = createTestSpecificFile();
await annotate('creates a file', { body: file });
});WARNING
annotate fonksiyonu bir Promise döndürür, bu nedenle işlevselliğine bağımlıysanız beklenmesi gerekir. Ancak Vitest, test bitmeden önce beklemeyen tüm açıklamaları otomatik olarak bekleyecektir.
Kullandığınız raporlayıcıya göre, bu açıklamaları farklı şekillerde göreceksiniz.
Yerleşik Raporlayıcılar
default
default raporlayıcı, açıklamaları yalnızca test başarısız olursa gösterir:
⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯
FAIL example.test.js > an example of a test with annotation
Error: thrown error
❯ example.test.js:11:21
9 | await annotate('annotation 1')
10| await annotate('annotation 2', 'warning')
11| throw new Error('thrown error')
| ^
12| })
❯ example.test.js:9:15 notice
↳ annotation 1
❯ example.test.js:10:15 warning
↳ annotation 2
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯verbose
Bir TTY terminalinde, verbose raporlayıcı default raporlayıcıya benzer şekilde çalışır. Ancak, TTY olmayan bir ortamda, verbose raporlayıcı her testten sonra açıklamaları da gösterecektir.
✓ example.test.js > an example of a test with annotation
❯ example.test.js:9:15 notice
↳ annotation 1
❯ example.test.js:10:15 warning
↳ annotation 2html
HTML raporlayıcı, açıklamaları kullanıcı arayüzünde göründüğü şekilde gösterir. Açıklamayı çağrıldığı satırda görebilirsiniz. Şu anda, açıklama bir test dosyasında çağrılmadıysa, kullanıcı arayüzünde görüntülenmez. Ayrı bir test özeti görünümünü desteklemeyi planlıyoruz; orada görünür olacaktır.


junit
junit raporlayıcı, açıklamaları testcase'in properties etiketi altında listeler. JUnit raporlayıcı tüm ek dosyaları yok sayacak ve yalnızca türü ve mesajı gösterecektir.
<testcase classname="basic/example.test.js" name="an example of a test with annotation" time="0.14315">
<properties>
<property name="notice" value="the message of the annotation">
</property>
</properties>
</testcase>github-actions
github-actions raporlayıcı, açıklamayı varsayılan olarak bir bildirim mesajı olarak gösterecektir. type değerini ikinci argüman olarak notice, warning veya error olarak vererek yapılandırabilirsiniz. Eğer tür bunlardan hiçbiri değilse, Vitest mesajı bir bildirim olarak gösterecektir.


tap
tap ve tap-flat raporlayıcıları, açıklamaları yeni bir satırda # sembolüyle başlayan tanı mesajları olarak gösterir. Tüm ekleri yok sayacak ve yalnızca türü ve mesajı gösterecektir:
ok 1 - an example of a test with annotation # time=143.15ms
# notice: the message of the annotation