-
-
Notifications
You must be signed in to change notification settings - Fork 9.3k
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
Core + Addon Test: Refactor test API and fix total test count #29656
base: next
Are you sure you want to change the base?
Conversation
…use the story index to count the total number of tests and only run tests known by Storybook
☁️ Nx Cloud ReportCI is running/has finished running commands for commit d645bb5. As they complete they will appear below. Click to see the status, the terminal output, and the build insights. 📂 See all runs for this CI Pipeline Execution ✅ Successfully ran 1 targetSent with 💌 from NxCloud. |
Package BenchmarksCommit: No significant changes detected, all good. 👏 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Vite Backend part LGTM.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
41 file(s) reviewed, 25 comment(s)
Edit PR Review Bot Settings | Greptile
code/core/src/manager/components/sidebar/TestingModule.stories.tsx
Outdated
Show resolved
Hide resolved
Based on the diff I see, I think you need to pull in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apart from the failing skip test, I think it looks good.
if (tagsFilter.skip.some((tag) => storyTags?.includes(tag))) { | ||
return false; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
based on the failing test, I don't think skip
should be part of isValidTest
@ghengeveld can we get this in a green state please, it's my base-branch for this work: |
Closes #29541
What I did
TESTING_MODULE_RUN_ALL_REQUEST
is removed in favor ofTESTING_MODULE_RUN_REQUEST
. So we have a single event to run tests now.TESTING_MODULE_RUN_REQUEST
is greatly simplified:Before:
After:
indexUrl
to be able to match Vitest test specs (which only have a file path) to thestoryIds
provided. This way we make sure that only tests are executed for stories that exist in the index (which may otherwise not be true considering Vitest uses a different glob and globbing library than Storybook does).testNamePattern
is now only set for single story runs, rather than whenever stories are specified in the request, because thistestNamePattern
trick will only reliably work when targeting a single test file, and we don't / won't have a UI pattern to run a subset of stories on a single component even though the API would support it. The story name is also retrieved from the index rather than passed along in the request payload.Checklist for Contributors
Testing
The changes in this PR are covered in the following automated tests:
Manual testing
This section is mandatory for all contributions. If you believe no manual test is necessary, please state so explicitly. Thanks!
Documentation
MIGRATION.MD
Checklist for Maintainers
When this PR is ready for testing, make sure to add
ci:normal
,ci:merged
orci:daily
GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found incode/lib/cli-storybook/src/sandbox-templates.ts
Make sure this PR contains one of the labels below:
Available labels
bug
: Internal changes that fixes incorrect behavior.maintenance
: User-facing maintenance tasks.dependencies
: Upgrading (sometimes downgrading) dependencies.build
: Internal-facing build tooling & test updates. Will not show up in release changelog.cleanup
: Minor cleanup style change. Will not show up in release changelog.documentation
: Documentation only changes. Will not show up in release changelog.feature request
: Introducing a new feature.BREAKING CHANGE
: Changes that break compatibility in some way with current major version.other
: Changes that don't fit in the above categories.🦋 Canary release
This PR does not have a canary release associated. You can request a canary release of this pull request by mentioning the
@storybookjs/core
team here.core team members can create a canary release here or locally with
gh workflow run --repo storybookjs/storybook canary-release-pr.yml --field pr=<PR_NUMBER>
Greptile Summary
This PR refactors Storybook's test API to simplify test execution and improve test progress reporting accuracy.
TESTING_MODULE_RUN_REQUEST
event, removing separate "run all" eventindexUrl
and optionalstoryIds
instead of detailed story information