
What Dependency Chains Are
When tests share dynamic variables, they form a chain of producers and consumers:
A producer always runs before the tests that use its values, and TestSprite orders the run accordingly. Auto Cleanup follows the same dependencies in reverse: children first, then parents.
How TestSprite Runs Your Tests
Independent tests run in parallel; tests that depend on others wait until the values they need are available. A 50-test plan with several dependency layers finishes in roughly the time of its slowest layer, not 50× the average.Test Status During a Run
Blocked is not Failed. A Blocked test never ran, so it isn’t a bug in your API. It’s a symptom of a Failed test upstream; start triage there.
Where to See the Dependency Graph
Each test’s Data Flow section shows what it captures and consumes. A run’s Dynamic Variables tab lists every variable with its Source (producer) and Used by (consumers). For one integration chain, its detail page shows the steps in run order.Circular Dependencies
If two tests need values from each other, the chain can’t be assembled. TestSprite reports “Could not assemble — circular dependency between X and Y”, and you’ll need to refine in chat. This is rare and usually points to an API design issue.Multiple Producers for the Same Variable
If two tests produce the same variable name (e.g., both POST /users and POST /admins produceuser_id), TestSprite picks one consistently for downstream consumers. To disambiguate:
When an Earlier Test Fails
Anything that depends on a failed test’s values is Blocked:Edge Cases & Troubleshooting
A test is Blocked but I can't tell which upstream caused it
A test is Blocked but I can't tell which upstream caused it
Open the Blocked test; the error trace names the missing variable. Search the Dynamic Variables tab for it to find the producer, which will be Failed.
My run has many small chains and I want them all to run in parallel
My run has many small chains and I want them all to run in parallel
They already do. If runs look serial, your tests probably all share one upstream (typically a
user_id from a single POST /users). Refine in chat to produce a small pool of users instead.Producer succeeded but consumer says variable was not found
Producer succeeded but consumer says variable was not found
That’s a variable resolution issue, not a dependency issue. See Dynamic Variables: Troubleshooting.
A chain ran out of order (a later step ran before its dependency)
A chain ran out of order (a later step ran before its dependency)
This shouldn’t happen. If it does, check the chain’s order in the Integration Tests tab and refine in chat: “The chain order should be POST /users → POST /sessions → POST /orders”.
Where to Go Next
Dynamic Variables
Values produced by one test and used by another
Auto Cleanup
Records created during a run get removed afterward
Integration Tests
Multi-step chains where one test’s output feeds the next
Rerun
Per-test and per-chain reruns