How does TurboSnap work with UI Tests and UI Review?
TurboSnap is a feature that’s part of UI Tests, not UI Review. Understanding this distinction is crucial to avoid confusion about which files are being analyzed.
TurboSnap and UI Tests
- TurboSnap operates within UI Tests to optimize which stories need to be captured
 - Comparison method: Compares your current commit against its parent build in your Chromatic build history
 - File analysis: Analyzes all files that changed between these two specific commits in git history
 - Purpose: Ensures visual regression testing catches any changes that might affect your stories
 
Why TurboSnap might analyze files not in your PR
A common source of confusion occurs when TurboSnap analyzes files that don’t appear in your current PR. This happens because:
- TurboSnap compares commits, not PR contents
 - The parent build TurboSnap uses for comparison might be from days or weeks ago
 - All files changed between those two points in git history will be analyzed
 - Your PR only shows changes between your branch and the current head of your base branch
 
Example scenario
- You create a feature branch from 
main - While you work, other commits are merged into 
main - When you run Chromatic, TurboSnap compares against an older build
 - TurboSnap analyzes files that changed since that older build, which may include files not in your PR
 
UI Review vs UI Tests with TurboSnap
| Feature | UI Review | UI Tests (with TurboSnap) | 
|---|---|---|
| Purpose | Shows visual changes that will be merged into your base branch | Detects visual regressions between builds | 
| Comparison | Your branch vs current head of base branch (like code review) | Current commit vs parent build in Chromatic history | 
| Files analyzed | Based on PR diff | Based on git history between two builds | 
| When to use | Before merging to see what will change | Continuous testing to catch regressions | 
Aligning TurboSnap with your PR changes
If you want TurboSnap to compare against the current head of your base branch:
- Rebase your branch to make it based on the latest version of your base branch
 - This helps TurboSnap find a more recent parent build for comparison
 - The files analyzed will more closely match your PR contents