Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Tracking]: Unified UI Testing 🔮 #29088

Open
1 of 20 tasks
ghengeveld opened this issue Sep 11, 2024 · 0 comments
Open
1 of 20 tasks

[Tracking]: Unified UI Testing 🔮 #29088

ghengeveld opened this issue Sep 11, 2024 · 0 comments
Assignees
Labels

Comments

@ghengeveld
Copy link
Member

ghengeveld commented Sep 11, 2024

🧑‍🤝‍🧑 Who: @ghengeveld, @yannbf and @valentinpalkovic

This is a tracking issue the Unified UI Testing 🔮 project. The purpose of this issue is to keep tracking of the overall status of the project and tasks, and plan everything around it.

⚠️ Problem

Storybook has the potential to be the go-to tool for comprehensive UI testing, unifying both the existing Visual Regression Testing (VRT) and Component Testing (CT) experiences. However, the current implementation falls short in two key areas:

1️⃣ Fragmented workflow

As of 8.3, users begin their Storybook CT experience with Vitest via the CLI, then transition into Storybook for visual debugging. More specifically, this process includes:

  1. Configuring the storybookScript option in the Vitest plugin.
  2. Running vitest in watch mode from the CLI, which spawns Storybook in the background.
  3. Viewing test failure outputs in the CLI and clicking a link to open Storybook for visual debugging.

This workflow centers on Vitest, making Storybook feel like a "sidekick" (albeit a powerful one). The constant switching between Vitest and Storybook disrupts the development flow and makes the process feel fragmented.

2️⃣ Incoherent design and under-utilized CT experience

Storybook already provides a powerful VRT experience via Visual Test Addon. We have an opportunity to create a more coherent and optimized experience that fully leverages both VRT and CT capabilities within Storybook.

🏁 Goals

The high-level goals of this project are:

  • Introduce a way to trigger test runs from the Storybook Manager UI.
  • Support both the Storybook Test addon (Vitest) and the Visual Test addon (Chromatic).
  • Support scoping down to groups, components and stories (when supported by the test provider).
  • Update (aggregate) story status indicators on groups, components and stories with new icons.

🚩 Milestones

1. Testing module essentials

  1. ghengeveld
  2. valentinpalkovic yannbf
  3. ghengeveld
  4. valentinpalkovic yannbf
  5. ghengeveld

2. Updating VTA and Interactions addon

3. Watch mode

4. Design updates

5. Run individual stories

6. Static builds

7. Enhanced story status

Out of scope

  • Integrating with A11y addon
  • Support for code coverage reporting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants