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

Closed
30 of 35 tasks
ghengeveld opened this issue Sep 11, 2024 · 0 comments ยท Fixed by #29241
Closed
30 of 35 tasks

[Tracking]: Unified UI Testing ๐Ÿ”ฎ #29088

ghengeveld opened this issue Sep 11, 2024 · 0 comments ยท Fixed by #29241
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
  6. yannbf
  7. yannbf
  8. ghengeveld
  9. valentinpalkovic yannbf

2. Discrepancy handling

  1. yannbf
  2. valentinpalkovic
  3. addon: test feature request telemetry
    valentinpalkovic

3. Updating VTA

4. Static builds

5. Watch mode

6. Run individual stories

  1. JReinhold ndelangen
  2. JReinhold ndelangen

7. Enhanced story status

8. Portable stories fixes

  1. yannbf
  2. addon: test bug portable stories
  3. feature request
    shilman

Out of scope

  • Integrating with A11y addon
  • Support for code coverage reporting

Follow-up work

  • Setup a sandbox to use (and test) addon-interactions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants