Start here. This is the direct spoken answer to practice first.
Overview
Router tests are strongest when they exercise real navigation through a small route configuration rather than mocking router internals.
I provide the routes under test, create a RouterTestingHarness, and navigate to a real URL. Then I assert both the final URL and the routed component or visible state. For a guard or resolver I cover the allowed path, redirect or rejection path, and relevant error behavior.