<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import{_ as e,c as p,ab as h,j as s,a,G as t,w as n,B as k,o as r}from"./chunks/framework.5dMhqBTQ.js";const gs=JSON.parse('{"title":"Extending Reporters","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/reporters.md","filePath":"advanced/reporters.md","lastUpdated":1730201363000}'),d={name:"advanced/reporters.md"},o={class:"warning custom-block"},g={class:"language-ts vp-adaptive-theme"},y={class:"shiki shiki-themes github-light github-dark vp-code twoslash lsp",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabindex:"0"},E={class:"line"},F={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},A={class:"line"},D={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},c={class:"line"},u={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},C={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},m={class:"line"},B={style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},f={style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},v={class:"line"},w={style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},b={style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},T={class:"line"},x={style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},R={style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},P={style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},j={class:"line"},I={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},S={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},M={class:"line"},V={style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},q={style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},N={style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},W={class:"line"},O={style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},U={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},z={class:"line"},L={style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},$={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},J={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},G={style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},Y={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},H={style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},K={class:"line"},Q={style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},X={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},Z={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},_={class:"line"},ss={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},is={style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},as={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},ns={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},ls={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},ts={style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}};function hs(es,i,ps,ks,rs,ds){const l=k("v-menu");return r(),p("div",null,[i[171]||(i[171]=h(`&lt;h1 id="extending-reporters" tabindex="-1"&gt;Extending Reporters &lt;a class="header-anchor" href="#extending-reporters" aria-label="Permalink to &amp;quot;Extending Reporters&amp;quot;"&gt;​&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;You can import reporters from &lt;code&gt;vitest/reporters&lt;/code&gt; and extend them to create your custom reporters.&lt;/p&gt;&lt;h2 id="extending-built-in-reporters" tabindex="-1"&gt;Extending Built-in Reporters &lt;a class="header-anchor" href="#extending-built-in-reporters" aria-label="Permalink to &amp;quot;Extending Built-in Reporters&amp;quot;"&gt;​&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;In general, you don&amp;#39;t need to create your reporter from scratch. &lt;code&gt;vitest&lt;/code&gt; comes with several default reporting programs that you can extend.&lt;/p&gt;&lt;div class="language-ts vp-adaptive-theme"&gt;&lt;button title="Copy Code" class="copy"&gt;&lt;/button&gt;&lt;span class="lang"&gt;ts&lt;/span&gt;&lt;pre class="shiki shiki-themes github-light github-dark vp-code" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;import&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; { DefaultReporter } &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;from&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt; &amp;#39;vitest/reporters&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;export&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; default&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; class&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; MyDefaultReporter&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; extends&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; DefaultReporter&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  // do something&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Of course, you can create your reporter from scratch. Just extend the &lt;code&gt;BaseReporter&lt;/code&gt; class and implement the methods you need.&lt;/p&gt;&lt;p&gt;And here is an example of a custom reporter:&lt;/p&gt;&lt;div class="language-ts vp-adaptive-theme"&gt;&lt;button title="Copy Code" class="copy"&gt;&lt;/button&gt;&lt;span class="lang"&gt;ts&lt;/span&gt;&lt;pre class="shiki shiki-themes github-light github-dark vp-code" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;// ./custom-reporter.js&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;import&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; { BaseReporter } &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;from&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt; &amp;#39;vitest/reporters&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;export&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; default&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; class&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; CustomReporter&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; extends&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; BaseReporter&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  onCollected&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;    const&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; files&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; =&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; this&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;.ctx.state.&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;getFiles&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;(&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt;this&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;.watchFilters)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt;    this&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;.&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;reportTestSummary&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;(files)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or implement the &lt;code&gt;Reporter&lt;/code&gt; interface:&lt;/p&gt;&lt;div class="language-ts vp-adaptive-theme"&gt;&lt;button title="Copy Code" class="copy"&gt;&lt;/button&gt;&lt;span class="lang"&gt;ts&lt;/span&gt;&lt;pre class="shiki shiki-themes github-light github-dark vp-code" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;// ./custom-reporter.js&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;import&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; { Reporter } &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;from&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt; &amp;#39;vitest/reporters&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;export&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; default&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; class&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; CustomReporter&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; implements&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; Reporter&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  onCollected&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;() {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;    // print something&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then you can use your custom reporter in the &lt;code&gt;vitest.config.ts&lt;/code&gt; file:&lt;/p&gt;&lt;div class="language-ts vp-adaptive-theme"&gt;&lt;button title="Copy Code" class="copy"&gt;&lt;/button&gt;&lt;span class="lang"&gt;ts&lt;/span&gt;&lt;pre class="shiki shiki-themes github-light github-dark vp-code" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;import&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; { defineConfig } &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;from&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt; &amp;#39;vitest/config&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;import&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; CustomReporter &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;from&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt; &amp;#39;./custom-reporter.js&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;export&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; default&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; defineConfig&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;({&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;  test: {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;    reporters: [&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;new&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; CustomReporter&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;()],&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;})&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="reported-tasks" tabindex="-1"&gt;Reported Tasks &lt;a class="header-anchor" href="#reported-tasks" aria-label="Permalink to &amp;quot;Reported Tasks&amp;quot;"&gt;​&lt;/a&gt;&lt;/h2&gt;`,13)),s("div",o,[i[167]||(i[167]=s("p",{class:"custom-block-title"},"WARNING",-1)),i[168]||(i[168]=s("p",null,"This is an experimental API. Breaking changes might not follow SemVer. Please pin Vitest's version when using it.",-1)),i[169]||(i[169]=s("p",null,[a("You can get access to this API by calling "),s("code",null,"vitest.state.getReportedEntity(runnerTask)"),a(":")],-1)),s("div",g,[i[165]||(i[165]=s("button",{title:"Copy Code",class:"copy"},null,-1)),i[166]||(i[166]=s("span",{class:"lang"},"ts",-1)),s("pre",y,[s("code",null,[s("span",E,[i[2]||(i[2]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"import",-1)),i[3]||(i[3]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," type",-1)),i[4]||(i[4]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," { ",-1)),s("span",F,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[0]||(i[0]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("pre",{class:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(alias) "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"class"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," Vitest")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"import"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," Vitest")])])])])],-1)])),default:n(()=&gt;[i[1]||(i[1]=s("span",null,"Vitest",-1))]),_:1})]),i[5]||(i[5]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," } ",-1)),i[6]||(i[6]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"from",-1)),i[7]||(i[7]=s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," 'vitest/node'",-1))]),i[143]||(i[143]=a(`
`)),s("span",A,[i[10]||(i[10]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"import",-1)),i[11]||(i[11]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," type",-1)),i[12]||(i[12]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," { ",-1)),s("span",D,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[8]||(i[8]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("pre",{class:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(alias) "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"interface"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," RunnerTestFile")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"import"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," RunnerTestFile")])])])])],-1)])),default:n(()=&gt;[i[9]||(i[9]=s("span",null,"RunnerTestFile",-1))]),_:1})]),i[13]||(i[13]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," } ",-1)),i[14]||(i[14]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"from",-1)),i[15]||(i[15]=s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," 'vitest'",-1))]),i[144]||(i[144]=a(`
`)),s("span",c,[i[20]||(i[20]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"import",-1)),i[21]||(i[21]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," type",-1)),i[22]||(i[22]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," { ",-1)),s("span",u,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[16]||(i[16]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("pre",{class:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(alias) "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"interface"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," Reporter")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"import"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," Reporter")])])])])],-1)])),default:n(()=&gt;[i[17]||(i[17]=s("span",null,"Reporter",-1))]),_:1})]),i[23]||(i[23]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", ",-1)),s("span",C,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[18]||(i[18]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("pre",{class:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(alias) "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"class"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," TestModule")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"import"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," TestModule")])])])])],-1)])),default:n(()=&gt;[i[19]||(i[19]=s("span",null,"TestModule",-1))]),_:1})]),i[24]||(i[24]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," } ",-1)),i[25]||(i[25]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"from",-1)),i[26]||(i[26]=s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," 'vitest/reporters'",-1))]),i[145]||(i[145]=a(`
`)),i[146]||(i[146]=s("span",{class:"line"},null,-1)),i[147]||(i[147]=a(`
`)),s("span",m,[i[31]||(i[31]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"class",-1)),i[32]||(i[32]=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," ",-1)),s("span",B,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[27]||(i[27]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"class"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," MyReporter")])],-1)])),default:n(()=&gt;[i[28]||(i[28]=s("span",null,"MyReporter",-1))]),_:1})]),i[33]||(i[33]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," implements",-1)),i[34]||(i[34]=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," ",-1)),s("span",f,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[29]||(i[29]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("pre",{class:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(alias) "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"interface"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," Reporter")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"import"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," Reporter")])])])])],-1)])),default:n(()=&gt;[i[30]||(i[30]=s("span",null,"Reporter",-1))]),_:1})]),i[35]||(i[35]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," {",-1))]),i[148]||(i[148]=a(`
`)),s("span",v,[i[40]||(i[40]=s("span",{style:{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"}},"  ",-1)),s("span",w,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[36]||(i[36]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(property) MyReporter.ctx: Vitest")])],-1)])),default:n(()=&gt;[i[37]||(i[37]=s("span",null,"ctx",-1))]),_:1})]),i[41]||(i[41]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"!:",-1)),i[42]||(i[42]=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," ",-1)),s("span",b,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[38]||(i[38]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("pre",{class:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(alias) "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"class"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," Vitest")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"import"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," Vitest")])])])])],-1)])),default:n(()=&gt;[i[39]||(i[39]=s("span",null,"Vitest",-1))]),_:1})])]),i[149]||(i[149]=a(`
`)),i[150]||(i[150]=s("span",{class:"line"},null,-1)),i[151]||(i[151]=a(`
`)),s("span",T,[i[49]||(i[49]=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"  ",-1)),s("span",x,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[43]||(i[43]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(method) MyReporter."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"onInit"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(ctx: Vitest): "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"void")])],-1)])),default:n(()=&gt;[i[44]||(i[44]=s("span",null,"onInit",-1))]),_:1})]),i[50]||(i[50]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(",-1)),s("span",R,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[45]||(i[45]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(parameter) "),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"ctx"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": Vitest")])],-1)])),default:n(()=&gt;[i[46]||(i[46]=s("span",null,"ctx",-1))]),_:1})]),i[51]||(i[51]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":",-1)),i[52]||(i[52]=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," ",-1)),s("span",P,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[47]||(i[47]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("pre",{class:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(alias) "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"class"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," Vitest")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"import"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," Vitest")])])])])],-1)])),default:n(()=&gt;[i[48]||(i[48]=s("span",null,"Vitest",-1))]),_:1})]),i[53]||(i[53]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},") {",-1))]),i[152]||(i[152]=a(`
`)),s("span",j,[i[58]||(i[58]=s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"    this",-1)),i[59]||(i[59]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".",-1)),s("span",I,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[54]||(i[54]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(property) MyReporter.ctx: Vitest")])],-1)])),default:n(()=&gt;[i[55]||(i[55]=s("span",null,"ctx",-1))]),_:1})]),i[60]||(i[60]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ",-1)),i[61]||(i[61]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"=",-1)),i[62]||(i[62]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ",-1)),s("span",S,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[56]||(i[56]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(parameter) "),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"ctx"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": Vitest")])],-1)])),default:n(()=&gt;[i[57]||(i[57]=s("span",null,"ctx",-1))]),_:1})])]),i[153]||(i[153]=a(`
`)),i[154]||(i[154]=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"  }")],-1)),i[155]||(i[155]=a(`
`)),i[156]||(i[156]=s("span",{class:"line"},null,-1)),i[157]||(i[157]=a(`
`)),s("span",M,[i[69]||(i[69]=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"  ",-1)),s("span",V,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[63]||(i[63]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(method) MyReporter."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"onFinished"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(files: RunnerTestFile[]): "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"void")])],-1)])),default:n(()=&gt;[i[64]||(i[64]=s("span",null,"onFinished",-1))]),_:1})]),i[70]||(i[70]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(",-1)),s("span",q,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[65]||(i[65]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(parameter) "),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"files"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": RunnerTestFile[]")])],-1)])),default:n(()=&gt;[i[66]||(i[66]=s("span",null,"files",-1))]),_:1})]),i[71]||(i[71]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":",-1)),i[72]||(i[72]=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," ",-1)),s("span",N,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[67]||(i[67]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("pre",{class:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(alias) "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"interface"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," RunnerTestFile")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"import"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," RunnerTestFile")])])])])],-1)])),default:n(()=&gt;[i[68]||(i[68]=s("span",null,"RunnerTestFile",-1))]),_:1})]),i[73]||(i[73]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"[]) {",-1))]),i[158]||(i[158]=a(`
`)),s("span",W,[i[78]||(i[78]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"    for",-1)),i[79]||(i[79]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," (",-1)),i[80]||(i[80]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const",-1)),i[81]||(i[81]=s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," ",-1)),s("span",O,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[74]||(i[74]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," fileTask"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," RunnerTestFile")])],-1)])),default:n(()=&gt;[i[75]||(i[75]=s("span",null,"fileTask",-1))]),_:1})]),i[82]||(i[82]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," of",-1)),i[83]||(i[83]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ",-1)),s("span",U,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[76]||(i[76]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(parameter) "),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"files"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": RunnerTestFile[]")])],-1)])),default:n(()=&gt;[i[77]||(i[77]=s("span",null,"files",-1))]),_:1})]),i[84]||(i[84]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},") {",-1))]),i[159]||(i[159]=a(`
`)),i[160]||(i[160]=s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},'      // note that the old task implementation uses "file" instead of "module"')],-1)),i[161]||(i[161]=a(`
`)),s("span",z,[i[97]||(i[97]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"      const",-1)),i[98]||(i[98]=s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," ",-1)),s("span",L,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[85]||(i[85]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," testModule"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," TestModule")])],-1)])),default:n(()=&gt;[i[86]||(i[86]=s("span",null,"testModule",-1))]),_:1})]),i[99]||(i[99]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," =",-1)),i[100]||(i[100]=s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," this",-1)),i[101]||(i[101]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".",-1)),s("span",$,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[87]||(i[87]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(property) MyReporter.ctx: Vitest")])],-1)])),default:n(()=&gt;[i[88]||(i[88]=s("span",null,"ctx",-1))]),_:1})]),i[102]||(i[102]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".",-1)),s("span",J,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[89]||(i[89]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(property) Vitest.state: StateManager")])],-1)])),default:n(()=&gt;[i[90]||(i[90]=s("span",null,"state",-1))]),_:1})]),i[103]||(i[103]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".",-1)),s("span",G,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[91]||(i[91]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(method) StateManager."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"getReportedEntity"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(task: Task): TestCase "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"|"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," TestSuite "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"|"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," TestModule "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"|"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," undefined")])],-1)])),default:n(()=&gt;[i[92]||(i[92]=s("span",null,"getReportedEntity",-1))]),_:1})]),i[104]||(i[104]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(",-1)),s("span",Y,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[93]||(i[93]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," fileTask"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," RunnerTestFile")])],-1)])),default:n(()=&gt;[i[94]||(i[94]=s("span",null,"fileTask",-1))]),_:1})]),i[105]||(i[105]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},") ",-1)),i[106]||(i[106]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"as",-1)),i[107]||(i[107]=s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," ",-1)),s("span",H,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[95]||(i[95]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("pre",{class:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(alias) "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"class"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," TestModule")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"import"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," TestModule")])])])])],-1)])),default:n(()=&gt;[i[96]||(i[96]=s("span",null,"TestModule",-1))]),_:1})])]),i[162]||(i[162]=a(`
`)),s("span",K,[i[114]||(i[114]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"      for",-1)),i[115]||(i[115]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," (",-1)),i[116]||(i[116]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const",-1)),i[117]||(i[117]=s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," ",-1)),s("span",Q,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[108]||(i[108]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," task"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," TestCase"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," |"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," TestSuite")])],-1)])),default:n(()=&gt;[i[109]||(i[109]=s("span",null,"task",-1))]),_:1})]),i[118]||(i[118]=s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," of",-1)),i[119]||(i[119]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ",-1)),s("span",X,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[110]||(i[110]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," testModule"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," TestModule")])],-1)])),default:n(()=&gt;[i[111]||(i[111]=s("span",null,"testModule",-1))]),_:1})]),i[120]||(i[120]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".",-1)),s("span",Z,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash-query",shown:!0},{popper:n(({})=&gt;i[112]||(i[112]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("div",{class:"twoslash-popup-arrow"}),s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(property) SuiteImplementation.children: TestCollection")]),s("div",{class:"twoslash-popup-docs vp-doc"},[s("p",null,"Collection of suites and tests that are part of this suite.")])],-1)])),default:n(()=&gt;[i[113]||(i[113]=s("span",null,"children",-1))]),_:1})]),i[121]||(i[121]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},") {",-1))]),i[163]||(i[163]=a(`
`)),s("span",_,[i[134]||(i[134]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"        ",-1)),s("span",ss,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[122]||(i[122]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("pre",{class:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"namespace"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," console")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"var"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," console"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," Console")])])])]),s("div",{class:"twoslash-popup-docs vp-doc"},[s("p",null,[a("The "),s("code",null,"console"),a(` module provides a simple debugging console that is similar to the
JavaScript console mechanism provided by web browsers.`)]),a(`
`),s("p",null,"The module exports two specific components:"),a(`
`),s("ul",null,[a(`
`),s("li",null,[a("A "),s("code",null,"Console"),a(" class with methods such as "),s("code",null,"console.log()"),a(", "),s("code",null,"console.error()"),a(" and "),s("code",null,"console.warn()"),a(" that can be used to write to any Node.js stream.")]),a(`
`),s("li",null,[a("A global "),s("code",null,"console"),a(" instance configured to write to "),s("a",{href:"https://nodejs.org/docs/latest-v22.x/api/process.html#processstdout"},[s("code",null,"process.stdout")]),a(` and
`),s("a",{href:"https://nodejs.org/docs/latest-v22.x/api/process.html#processstderr"},[s("code",null,"process.stderr")]),a(". The global "),s("code",null,"console"),a(" can be used without importing the "),s("code",null,"node:console"),a(" module.")]),a(`
`)]),a(`
`),s("p",null,[s("em",null,[s("strong",null,"Warning")]),a(`: The global console object's methods are neither consistently
synchronous like the browser APIs they resemble, nor are they consistently
asynchronous like all other Node.js streams. See the `),s("a",{href:"https://nodejs.org/docs/latest-v22.x/api/process.html#a-note-on-process-io"},[s("code",null,"note on process I/O")]),a(` for
more information.`)]),a(`
`),s("p",null,[a("Example using the global "),s("code",null,"console"),a(":")]),a(`
`),s("code",null,[s("pre",{class:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"console."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"log"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'hello world'"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},");")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// Prints: hello world, to stdout")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"console."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"log"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'hello %s'"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'world'"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},");")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// Prints: hello world, to stdout")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"console."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"error"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"new"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," Error"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'Whoops, something bad happened'"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"));")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// Prints error message and stack trace to stderr:")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"//   Error: Whoops, something bad happened")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"//     at [eval]:5:15")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"//     at Script.runInThisContext (node:vm:132:18)")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"//     at Object.runInThisContext (node:vm:309:38)")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"//     at node:internal/process/execution:77:19")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"//     at [eval]-wrapper:6:22")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"//     at evalScript (node:internal/process/execution:76:60)")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"//     at node:internal/main/eval_string:23:3")]),a(`
`),s("span",{class:"line"}),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," name"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," ="),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," 'Will Robinson'"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},";")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"console."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"warn"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"`Danger ${"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"name"),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"}! Danger!`"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},");")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// Prints: Danger Will Robinson! Danger!, to stderr")])])])]),a(`
`),s("p",null,[a("Example using the "),s("code",null,"Console"),a(" class:")]),a(`
`),s("code",null,[s("pre",{class:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," out"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," ="),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," getStreamSomehow"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"();")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," err"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," ="),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," getStreamSomehow"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"();")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," myConsole"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," ="),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," new"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," console."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"Console"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(out, err);")]),a(`
`),s("span",{class:"line"}),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"myConsole."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"log"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'hello world'"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},");")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// Prints: hello world, to out")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"myConsole."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"log"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'hello %s'"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'world'"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},");")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// Prints: hello world, to out")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"myConsole."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"error"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"new"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," Error"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'Whoops, something bad happened'"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"));")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// Prints: [Error: Whoops, something bad happened], to err")]),a(`
`),s("span",{class:"line"}),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," name"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," ="),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}}," 'Will Robinson'"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},";")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"myConsole."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"warn"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"`Danger ${"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"name"),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"}! Danger!`"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},");")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// Prints: Danger Will Robinson! Danger!, to err")])])])])]),s("div",{class:"twoslash-popup-docs twoslash-popup-docs-tags vp-doc"},[s("span",{class:"twoslash-popup-docs-tag"},[s("span",{class:"twoslash-popup-docs-tag-name"},"@see"),s("span",{class:"twoslash-popup-docs-tag-value"},[s("a",{href:"https://github.com/nodejs/node/blob/v22.x/lib/console.js"},"source")])])])],-1)])),default:n(()=&gt;[i[123]||(i[123]=s("span",null,"console",-1))]),_:1})]),i[135]||(i[135]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".",-1)),s("span",is,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[124]||(i[124]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(method) Console."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"log"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(message"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"?:"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," any, "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"..."),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"optionalParams: any[]): "),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"void"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," ("),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"+"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}},"1"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}}," overload)")]),s("div",{class:"twoslash-popup-docs vp-doc"},[s("p",null,[a("Prints to "),s("code",null,"stdout"),a(` with newline. Multiple arguments can be passed, with the
first used as the primary message and all additional used as substitution
values similar to `),s("a",{href:"http://man7.org/linux/man-pages/man3/printf.3.html"},[s("code",null,"printf(3)")]),a(`
(the arguments are all passed to `),s("a",{href:"https://nodejs.org/docs/latest-v22.x/api/util.html#utilformatformat-args"},[s("code",null,"util.format()")]),a(").")]),a(`
`),s("code",null,[s("pre",{class:"shiki shiki-themes github-light github-dark",style:{"--shiki-light":"#24292e","--shiki-dark":"#e1e4e8","--shiki-light-bg":"#fff","--shiki-dark-bg":"#24292e"},tabindex:"0"},[s("code",null,[s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," count"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," ="),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," 5"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},";")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"console."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"log"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'count: %d'"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", count);")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// Prints: count: 5, to stdout")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"console."),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"log"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"("),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'count:'"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", count);")]),a(`
`),s("span",{class:"line"},[s("span",{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"}},"// Prints: count: 5, to stdout")])])])]),a(`
`),s("p",null,[a("See "),s("a",{href:"https://nodejs.org/docs/latest-v22.x/api/util.html#utilformatformat-args"},[s("code",null,"util.format()")]),a(" for more information.")])]),s("div",{class:"twoslash-popup-docs twoslash-popup-docs-tags vp-doc"},[s("span",{class:"twoslash-popup-docs-tag"},[s("span",{class:"twoslash-popup-docs-tag-name"},"@since"),s("span",{class:"twoslash-popup-docs-tag-value"},"v0.1.100")])])],-1)])),default:n(()=&gt;[i[125]||(i[125]=s("span",null,"log",-1))]),_:1})]),i[136]||(i[136]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(",-1)),i[137]||(i[137]=s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},"'finished'",-1)),i[138]||(i[138]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", ",-1)),s("span",as,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[126]||(i[126]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," task"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," TestCase"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," |"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," TestSuite")])],-1)])),default:n(()=&gt;[i[127]||(i[127]=s("span",null,"task",-1))]),_:1})]),i[139]||(i[139]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".",-1)),s("span",ns,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[128]||(i[128]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(property) "),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"type"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": "),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},'"test"'),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," |"),s("span",{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}},' "suite"')])],-1)])),default:n(()=&gt;[i[129]||(i[129]=s("span",null,"type",-1))]),_:1})]),i[140]||(i[140]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},", ",-1)),s("span",ls,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[130]||(i[130]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},"const"),s("span",{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"}}," task"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}},":"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," TestCase"),s("span",{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"}}," |"),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}}," TestSuite")])],-1)])),default:n(()=&gt;[i[131]||(i[131]=s("span",null,"task",-1))]),_:1})]),i[141]||(i[141]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},".",-1)),s("span",ts,[t(l,{class:"twoslash-hover","popper-class":"shiki twoslash-floating vp-copy-ignore vp-code",theme:"twoslash"},{popper:n(({})=&gt;i[132]||(i[132]=[s("span",{class:"twoslash-popup-container vp-copy-ignore"},[s("code",{class:"twoslash-popup-code"},[s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},"(property) "),s("span",{style:{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"}},"fullName"),s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},": string")]),s("div",{class:"twoslash-popup-docs vp-doc"},[s("p",null,[a("Full name of the test including all parent suites separated with "),s("code",null,"&gt;"),a(".")]),a(`
`),s("p",null,[a("Full name of the suite including all parent suites separated with "),s("code",null,"&gt;"),a(".")])])],-1)])),default:n(()=&gt;[i[133]||(i[133]=s("span",null,"fullName",-1))]),_:1})]),i[142]||(i[142]=s("span",{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"}},")",-1))]),i[164]||(i[164]=h(`
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;      }&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;`,8))])])]),i[170]||(i[170]=s("p",null,"We are planning to stabilize this API in Vitest 2.1.",-1))]),i[172]||(i[172]=h(`&lt;h3 id="testcase" tabindex="-1"&gt;TestCase &lt;a class="header-anchor" href="#testcase" aria-label="Permalink to &amp;quot;TestCase&amp;quot;"&gt;​&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;TestCase&lt;/code&gt; represents a single test.&lt;/p&gt;&lt;div class="language-ts vp-adaptive-theme"&gt;&lt;button title="Copy Code" class="copy"&gt;&lt;/button&gt;&lt;span class="lang"&gt;ts&lt;/span&gt;&lt;pre class="shiki shiki-themes github-light github-dark vp-code" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;declare&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; class&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestCase&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; type&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; =&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt; &amp;#39;test&amp;#39;&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; |&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt; &amp;#39;custom&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Task instance.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;@experimental&lt;/span&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt; Public task API is experimental and does not follow semver.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; task&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; RunnerTestCase&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; |&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; RunnerCustomCase&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The project associated with the test.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; project&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestProject&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Direct reference to the test module where the test is defined.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; module&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestModule&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Name of the test.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; name&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; string&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Full name of the test including all parent suites separated with \`&amp;gt;\`.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; fullName&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; string&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Unique identifier.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * This ID is deterministic and will be the same for the same test across multiple runs.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The ID is based on the project name, module id and test position.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; id&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; string&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Location in the module where the test was defined.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Locations are collected only if \`includeTaskLocation\` is enabled in the config.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; location&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; { &lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;line&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;; &lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;column&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; } &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;|&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; undefined&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Parent suite. If the test was called directly inside the module, the parent will be the module itself.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; parent&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestSuite&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; |&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestModule&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Options that test was initiated with.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; options&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TaskOptions&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Checks if the test did not fail the suite.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * If the test is not finished yet or was skipped, it will return \`true\`.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  ok&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;()&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; boolean&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Custom metadata that was attached to the test during its execution.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  meta&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;()&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TaskMeta&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Test results. Will be \`undefined\` if test is not finished yet or was just collected.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  result&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;()&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestResult&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; |&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; undefined&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Useful information about the test like duration, memory usage, etc.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  diagnostic&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;()&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestDiagnostic&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; |&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; undefined&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;export&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; type&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestResult&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; =&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestResultPassed&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; |&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestResultFailed&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; |&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestResultSkipped&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;export&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; interface&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestResultPassed&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The test passed successfully.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  state&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt; &amp;#39;passed&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Errors that were thrown during the test execution.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   *&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * **Note**: If test was retried successfully, errors will still be reported.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  errors&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestError&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;[] &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;|&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; undefined&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;export&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; interface&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestResultFailed&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The test failed to execute.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  state&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt; &amp;#39;failed&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Errors that were thrown during the test execution.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  errors&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestError&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;[]&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;export&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; interface&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestResultSkipped&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The test was skipped with \`only\`, \`skip\` or \`todo\` flag.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * You can see which one was used in the \`mode\` option.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  state&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt; &amp;#39;skipped&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Skipped tests have no errors.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  errors&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; undefined&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;export&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; interface&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestDiagnostic&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * If the duration of the test is above \`slowTestThreshold\`.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  slow&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; boolean&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The amount of memory used by the test in bytes.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * This value is only available if the test was executed with \`logHeapUsage\` flag.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  heap&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; |&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; undefined&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The time it takes to execute the test in ms.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  duration&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The time in ms when the test started.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  startTime&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The amount of times the test was retried.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  retryCount&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The amount of times the test was repeated as configured by \`repeats\` option.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * This value can be lower if the test failed during the repeat and no \`retry\` is configured.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  repeatCount&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * If test passed on a second retry.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  flaky&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; boolean&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="testsuite" tabindex="-1"&gt;TestSuite &lt;a class="header-anchor" href="#testsuite" aria-label="Permalink to &amp;quot;TestSuite&amp;quot;"&gt;​&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;TestSuite&lt;/code&gt; represents a single suite that contains tests and other suites.&lt;/p&gt;&lt;div class="language-ts vp-adaptive-theme"&gt;&lt;button title="Copy Code" class="copy"&gt;&lt;/button&gt;&lt;span class="lang"&gt;ts&lt;/span&gt;&lt;pre class="shiki shiki-themes github-light github-dark vp-code" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;declare&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; class&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestSuite&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; type&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; =&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt; &amp;#39;suite&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Task instance.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;@experimental&lt;/span&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt; Public task API is experimental and does not follow semver.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; task&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; RunnerTestSuite&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The project associated with the test.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; project&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestProject&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Direct reference to the test module where the suite is defined.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; module&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestModule&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Name of the suite.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; name&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; string&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Full name of the suite including all parent suites separated with \`&amp;gt;\`.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; fullName&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; string&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Unique identifier.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * This ID is deterministic and will be the same for the same test across multiple runs.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The ID is based on the project name, module id and test position.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; id&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; string&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Location in the module where the suite was defined.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Locations are collected only if \`includeTaskLocation\` is enabled in the config.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; location&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; { &lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;line&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;; &lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;column&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; } &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;|&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; undefined&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Collection of suites and tests that are part of this suite.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; children&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TaskCollection&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Options that the suite was initiated with.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; options&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TaskOptions&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="testmodule" tabindex="-1"&gt;TestModule &lt;a class="header-anchor" href="#testmodule" aria-label="Permalink to &amp;quot;TestModule&amp;quot;"&gt;​&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;TestModule&lt;/code&gt; represents a single file that contains suites and tests.&lt;/p&gt;&lt;div class="language-ts vp-adaptive-theme"&gt;&lt;button title="Copy Code" class="copy"&gt;&lt;/button&gt;&lt;span class="lang"&gt;ts&lt;/span&gt;&lt;pre class="shiki shiki-themes github-light github-dark vp-code" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;declare&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; class&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestModule&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; extends&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; SuiteImplementation&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; type&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; =&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt; &amp;#39;module&amp;#39;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Task instance.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;@experimental&lt;/span&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt; Public task API is experimental and does not follow semver.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; task&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; RunnerTestFile&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Collection of suites and tests that are part of this module.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; children&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestCollection&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * This is usually an absolute Unix file path.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * It can be a virtual id if the file is not on the disk.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * This value corresponds to Vite&amp;#39;s \`ModuleGraph\` id.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; moduleId&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; string&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Useful information about the module like duration, memory usage, etc.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * If the module was not executed yet, all diagnostic values will return \`0\`.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  diagnostic&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;()&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; ModuleDiagnostic&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;export&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; interface&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; ModuleDiagnostic&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The time it takes to import and initiate an environment.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  environmentSetupDuration&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The time it takes Vitest to setup test harness (runner, mocks, etc.).&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  prepareDuration&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The time it takes to import the test module.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * This includes importing everything in the module and executing suite callbacks.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  collectDuration&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The time it takes to import the setup module.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  setupDuration&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Accumulated duration of all tests and hooks in the module.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  duration&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="testcollection" tabindex="-1"&gt;TestCollection &lt;a class="header-anchor" href="#testcollection" aria-label="Permalink to &amp;quot;TestCollection&amp;quot;"&gt;​&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;TestCollection&lt;/code&gt; represents a collection of suites and tests. It also provides useful methods to iterate over itself.&lt;/p&gt;&lt;div class="language-ts vp-adaptive-theme"&gt;&lt;button title="Copy Code" class="copy"&gt;&lt;/button&gt;&lt;span class="lang"&gt;ts&lt;/span&gt;&lt;pre class="shiki shiki-themes github-light github-dark vp-code" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;declare&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; class&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestCollection&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Returns the test or suite at a specific index in the array.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  at&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;(&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;index&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;)&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestCase&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; |&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestSuite&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; |&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; undefined&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The number of tests and suites in the collection.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;  size&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; number&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Returns the collection in array form for easier manipulation.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  array&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;()&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; (&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;TestCase&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; |&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestSuite&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;)[]&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Filters all suites that are part of this collection and its children.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  allSuites&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;()&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; IterableIterator&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;TestSuite&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Filters all tests that are part of this collection and its children.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  allTests&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;(&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;state&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;?:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestResult&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;[&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt;&amp;#39;state&amp;#39;&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;] &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;|&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt; &amp;#39;running&amp;#39;&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;)&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; IterableIterator&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;TestCase&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Filters only the tests that are part of this collection.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  tests&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;(&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;state&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;?:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestResult&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;[&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt;&amp;#39;state&amp;#39;&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;] &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;|&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt; &amp;#39;running&amp;#39;&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;)&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; IterableIterator&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;TestCase&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Filters only the suites that are part of this collection.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  suites&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;()&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; IterableIterator&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;TestSuite&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;&amp;gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;  [Symbol.iterator]()&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; IterableIterator&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;TestSuite&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; |&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestCase&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For example, you can iterate over all tests inside a module by calling &lt;code&gt;testModule.children.allTests()&lt;/code&gt;:&lt;/p&gt;&lt;div class="language-ts vp-adaptive-theme"&gt;&lt;button title="Copy Code" class="copy"&gt;&lt;/button&gt;&lt;span class="lang"&gt;ts&lt;/span&gt;&lt;pre class="shiki shiki-themes github-light github-dark vp-code" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;function&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; onFileCollected&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;(&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;testModule&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestModule&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;)&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; void&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;  console.&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;log&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;(&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt;&amp;#39;collecting tests in&amp;#39;&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;, testModule.moduleId)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  // iterate over all tests and suites in the module&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  for&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; (&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;const&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; task&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; of&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; testModule.children.&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;allTests&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;()) {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;    console.&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;log&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;(&lt;/span&gt;&lt;span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"&gt;&amp;#39;collected&amp;#39;&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;, task.type, task.fullName)&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="testproject" tabindex="-1"&gt;TestProject &lt;a class="header-anchor" href="#testproject" aria-label="Permalink to &amp;quot;TestProject&amp;quot;"&gt;​&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;&lt;code&gt;TestProject&lt;/code&gt; is a project assosiated with the module. Every test and suite inside that module will reference the same project.&lt;/p&gt;&lt;p&gt;Project is useful to get the configuration or provided context.&lt;/p&gt;&lt;div class="language-ts vp-adaptive-theme"&gt;&lt;button title="Copy Code" class="copy"&gt;&lt;/button&gt;&lt;span class="lang"&gt;ts&lt;/span&gt;&lt;pre class="shiki shiki-themes github-light github-dark vp-code" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0"&gt;&lt;code&gt;&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;declare&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; class&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; TestProject&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The global vitest instance.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;@experimental&lt;/span&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt; The public Vitest API is experimental and does not follow semver.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; vitest&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; Vitest&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The workspace project this test project is associated with.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * &lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;@experimental&lt;/span&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt; The public Vitest API is experimental and does not follow semver.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; workspaceProject&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; WorkspaceProject&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Vite&amp;#39;s dev server instance. Every workspace project has its own server.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; vite&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; ViteDevServer&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Resolved project configuration.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; config&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; ResolvedProjectConfig&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Resolved global configuration. If there are no workspace projects, this will be the same as \`config\`.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  readonly&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt; globalConfig&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; ResolvedConfig&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Serialized project configuration. This is the config that tests receive.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;  get&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; serializedConfig&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;()&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; SerializedConfig&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * The name of the project or an empty string if not set.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  name&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;()&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; string&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Custom context provided to the project.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  context&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;()&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; ProvidedContext&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;  /**&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   * Provide a custom serializable context to the project. This context will be available for tests once they run.&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"&gt;   */&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;  provide&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;T&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; extends&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; keyof&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; ProvidedContext&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt; &amp;amp;&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; string&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;&amp;gt;(&lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;key&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; T&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;, &lt;/span&gt;&lt;span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"&gt;value&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt; ProvidedContext&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;[&lt;/span&gt;&lt;span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"&gt;T&lt;/span&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;])&lt;/span&gt;&lt;span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"&gt;:&lt;/span&gt;&lt;span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"&gt; void&lt;/span&gt;&lt;/span&gt;
&lt;span class="line"&gt;&lt;span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="exported-reporters" tabindex="-1"&gt;Exported Reporters &lt;a class="header-anchor" href="#exported-reporters" aria-label="Permalink to &amp;quot;Exported Reporters&amp;quot;"&gt;​&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;vitest&lt;/code&gt; comes with a few &lt;a href="/guide/reporters.html"&gt;built-in reporters&lt;/a&gt; that you can use out of the box.&lt;/p&gt;&lt;h3 id="built-in-reporters" tabindex="-1"&gt;Built-in reporters: &lt;a class="header-anchor" href="#built-in-reporters" aria-label="Permalink to &amp;quot;Built-in reporters:&amp;quot;"&gt;​&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;code&gt;BasicReporter&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;DefaultReporter&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;DotReporter&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;JsonReporter&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;VerboseReporter&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;TapReporter&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;JUnitReporter&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;TapFlatReporter&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;HangingProcessReporter&lt;/code&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 id="base-abstract-reporters" tabindex="-1"&gt;Base Abstract reporters: &lt;a class="header-anchor" href="#base-abstract-reporters" aria-label="Permalink to &amp;quot;Base Abstract reporters:&amp;quot;"&gt;​&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;code&gt;BaseReporter&lt;/code&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 id="interface-reporters" tabindex="-1"&gt;Interface reporters: &lt;a class="header-anchor" href="#interface-reporters" aria-label="Permalink to &amp;quot;Interface reporters:&amp;quot;"&gt;​&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;code&gt;Reporter&lt;/code&gt;&lt;/li&gt;&lt;/ol&gt;`,26))])}const ys=e(d,[["render",hs]]);export{gs as __pageData,ys as default};
</pre></body></html>