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 2
html
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