You can restrict or limit the behaviour of the collaborators by using test doubles. This separates the thing from outside influences. Additionally, employing test doubles allows you to eliminate expensive dependencies that can be out of your control, cause indeterminacy or performance penalties, or all of the above.