Complete the lab with a working dependencies and test doubles exercise with a documented technical result.
Guided Lab: Dependencies and Test Doubles in Software Testing Fundamentals
Software Testing Fundamentals — Dependencies and Test Doubles lab: Test a component with one controlled dependency, then remove a flaky source such as real time, network, or shared mutable state and confirm the test stays deterministic.
Know what success looks like before you begin
Save verification evidence: the module-specific command, output, test, rendered state, query result, log, or measurement that proves the exercise worked.
- I completed the module-specific practice task.
- I produced a working dependencies and test doubles exercise with a documented technical result.
- I saved the module-specific command, output, test, rendered state, query result, log, or measurement that proves the exercise worked.
- I diagnosed and corrected one realistic Dependencies and Test Doubles failure.
Stop before using production credentials, important data, shared permissions, live infrastructure, or destructive commands that are not required by the lab.
Jump to a section
Know the problem and the evidence you need
Test a component with one controlled dependency, then remove a flaky source such as real time, network, or shared mutable state and confirm the test stays deterministic.
a working dependencies and test doubles exercise with a documented technical result
Complete the task, verify the module-specific command, output, test, rendered state, query result, log, or measurement that proves the exercise worked, then diagnose one failure that is specific to Dependencies and Test Doubles.
Control dependencies only where needed, keep tests deterministic, and make failures point to product behavior rather than unstable clocks, networks, or shared state.
Prepare before changing anything
Have this ready
- Open a small local project or disposable lab environment.
- Confirm the runtime, toolchain, or service needed for the module.
- Prepare one valid input and one invalid or boundary input.
Run the lab
Complete one check at a time. Record the evidence before moving on.
Match the evidence to the next action
The expected result appears and the boundary case behaves correctly
Save the result and continue to the module checkpoint.
The normal case works but the failure or boundary case does not
Return to the diagnostic step and inspect the module-specific state or output before changing more code.
The result changes between runs
Compare the relevant input, dependency, configuration, data, state, or runtime version for this module.
Choose the next action
Complete the lab when you can reproduce the working result, explain the important module decision, and recover from the tested failure.
Confirm the evidence you produced
Finished record: a working dependencies and test doubles exercise with a documented technical result
- I completed the module-specific practice task.
- I produced a working dependencies and test doubles exercise with a documented technical result.
- I saved the module-specific command, output, test, rendered state, query result, log, or measurement that proves the exercise worked.
- I diagnosed and corrected one realistic Dependencies and Test Doubles failure.