fix: add --roots flag to Jest to include test file directories#1212
Merged
Conversation
Some projects configure Jest with restricted roots (e.g., roots: ["<rootDir>/src"]) which prevents Jest from finding tests written to other directories like "test/". Even with --runTestsByPath, Jest validates that files exist within the configured roots. This fix adds the --roots flag to explicitly include the directories containing the test files being run, ensuring Jest can find and execute them regardless of the project's roots configuration. Fixes issue where "No tests found" error occurs on projects with custom Jest roots configuration.
Add unit tests to verify that the --roots flag is properly added to Jest commands for all three runner functions: behavioral, benchmarking, and line profiling.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--rootsflag to Jest commands to include directories containing test filesroots: ["<rootDir>/src"])Problem
Some TypeScript/JavaScript projects configure Jest with
roots: ["<rootDir>/src"]which excludes thetest/directory where codeflash writes generated tests. Even with--runTestsByPath, Jest validates that files exist within the configured roots, resulting in "No tests found" errors.Solution
When running Jest with
--runTestsByPath, also add--rootsflags for each directory containing test files. This explicitly tells Jest to include those directories in its root paths, bypassing the project's restrictive configuration.Test plan
roots: ["<rootDir>/src"]Jest configtest/directory🤖 Generated with Claude Code