JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 65930
  • Score
    100M100P100Q156960F
  • License MIT

Visual Debugging Experience for Vitest πŸ§ͺπŸ–Όβš‘οΈ

Package Exports

  • vitest-preview
  • vitest-preview/node
  • vitest-preview/node/previewServer

Readme

Vitest Preview Logo

Vitest Preview

Debug your Vitest tests. Effortlessly. πŸ§ͺπŸ–Όβš‘οΈ

Vitest Preview Demo

Try Vitest Preview Online. No downloads needed!

All Contributors

npm version Best of JS PRs Welcome Mentioned in Awesome Jest

Try Vitest Preview now

Why vitest-preview

When writing tests, we usually have to debug by reading the cryptic HTML output on the terminal. Sometimes, they are too complicated to visualize the UI in our heads. vitest-preview previews your Vitest tests right in a browser, then you can see your actual UI visually. You can write tests and watch rendered output changes accordingly. Vitest Preview lets you concentrate on tests in the "real world" rather than deciphering HTML code.

vitest-preview is built on top of Vite, it's blazing fast and easy to use.

vitest-preview is a younger sibling of jest-preview with the same idea and to solve the same problem. If you are writing tests using Jest, give it a try.

Features

  • πŸ‘€ Visualize your testing UI in an external browser in milliseconds.
  • πŸ”„ Auto reloads the browser when debug() is executed.
  • πŸ’… Fully support CSS
  • πŸŒ„ Support viewing images.

Installation

npm install --save-dev vitest-preview
# Or
yarn add -D vitest-preview
pnpm add -D vitest-preview

Configuration

Process CSS

You need to configure vitest to process CSS by:

// vite.config.js
export default defineConfig({
  test: {
+    css: !process.env.CI, // We usually don't want to process CSS in CI
  },
});

You might want to import your CSS global files in setupFiles:

// vite.config.js
export default defineConfig({
  test: {
+    setupFiles: './src/test/setup.ts',
  },
});
// src/test/setup.ts
+import './global.css';
+import '@your-design-system/css/dist/index.min.css';
+import 'bootstrap/dist/css/bootstrap.min.css';

Add script vitest-preview

vitest-preview has a CLI that opens Vitest Preview Dashboard where you can preview your tests' UI. You can update your package.json to add a script for more convenience:

"scripts": {
  "vitest-preview": "vitest-preview"
},

Usage

Put debug() wherever you want to see the UI in your tests.

+import { debug } from 'vitest-preview';

describe('App', () => {
  it('should work as expected', () => {
    render(<App />);
+    debug();
  });
});

Open the Vitest Preview Dashboard by running the CLI command (updated in Configuration):

npm run vitest-preview
# Or
yarn vitest-preview
pnpm vitest-preview

Then execute your tests that contain debug(). You will see the UI of your tests at http://localhost:5006.

Examples

Is there a similar library for Jest

Yes, it is. It's Jest Preview.

Star history

Star History Chart

Contributing

Please see the contribution guide at CONTRIBUTING.md.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Hung Viet Nguyen
Hung Viet Nguyen

πŸ’»
Andre
Andre

πŸ’‘
RenΓ© Wang
RenΓ© Wang

🌍
Nils Knappmeier
Nils Knappmeier

πŸ’»
Tarjei Huse
Tarjei Huse

πŸ€”
Truong Nguyen
Truong Nguyen

πŸ‘€
Heath C
Heath C

πŸ›

This project follows the all-contributors specification. Contributions of any kind welcome!

License

This is open source software

MIT

Support

If you like the project, please consider supporting it by giving a ⭐️ to encourage the author.