最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

javascript - How to ignore lines of code from coverage in vitest? - Stack Overflow

matteradmin5PV0评论

I have my unit tests setup with vitest and I am looking for a way to ignore specific lines of code from vitest coverage.

Looking for something similar to /* istanbul ignore next */.

Is there something available for vitest?

I skimmed through the docs and tried googling. Found the solution for jest but not vitest.

I have my unit tests setup with vitest and I am looking for a way to ignore specific lines of code from vitest coverage.

Looking for something similar to /* istanbul ignore next */.

Is there something available for vitest?

I skimmed through the docs and tried googling. Found the solution for jest but not vitest.

Share Improve this question asked Jun 26, 2024 at 2:54 Mayank Kumar ChaudhariMayank Kumar Chaudhari 18.9k13 gold badges72 silver badges155 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 4

Finally, /* v8 ignore next */ worked.

Using coverage-v8 for coverage.

Also, there are more ways as describe in docs

Thanks to @Gab

ignoring the next N lines

const myVariable = 99
/* v8 ignore next 3 */
if (process.platform === 'win32') {
  console.info('hello world')
}

ignoring all lines until told

/* v8 ignore start */
function dontMindMe() {
  // ...
}
/* v8 ignore stop */

ignoring the same line as the ment

const myVariable = 99
const os = process.platform === 'darwin' ? 'OSXy' /* v8 ignore next */ : 'Windowsy' 

It depends if you are using instanbul or v8 to provide the coverage of your code (default is v8) (See coverage providers documentation).

You can see the official documentation by Vitest in their link.

Basically, for v8 you can use

/* v8 ignore next */

as well as other described in their documentation like

/* v8 ignore start */

ignored_code()

/* v8 ignore stop */

For Vue templates do:

<!-- /* v8 ignore next 5 */ -->
<template>
  <div v-if="someProp">
    {{ someProp }}
  </div>
</template>

In case you happen to run into this coverage bug:

  • https://github./vitejs/vite-plugin-vue/issues/368
Post a comment

comment list (0)

  1. No comments so far