| Setting up a test project | contents/getting-started/create-test-project.md |
| Writing first Blazor component tests | contents/getting-started/writing-tests.md |
| Passing parameters and cascading values | contents/providing-input/passing-parameters-to-components.md |
| Injecting services | contents/providing-input/inject-services-into-components.md |
| Substituting / mocking child components | contents/providing-input/substituting-components.md |
| Third-party library setup | contents/providing-input/configure-3rd-party-libs.md |
| Triggering event handlers | contents/interaction/trigger-event-handlers.md |
| Awaiting async state changes | contents/interaction/awaiting-async-state.md |
| Render modes (SSR, WASM, Server) | contents/interaction/render-modes.md |
| Asserting rendered markup | contents/verification/verify-markup.md |
| Inspecting component state | contents/verification/verify-component-state.md |
| Semantic HTML comparison | contents/verification/semantic-html-comparison.md |
| Async assertions | contents/verification/async-assertion.md |
| Mocking IJSRuntime / JSInterop | contents/test-doubles/emulating-ijsruntime.md |
| Mocking HttpClient | contents/test-doubles/mocking-httpclient.md |
| Faking authentication/authorization | contents/test-doubles/auth.md |
| Faking NavigationManager | contents/test-doubles/navigation-manager.md |
| Faking PersistentComponentState | contents/test-doubles/persistentcomponentstate.md |
| Faking IWebAssemblyHostEnvironment | contents/test-doubles/fake-webassemblyhostenvironment.md |
| InputFile component testing | contents/test-doubles/input-file.md |
| Localization mocking | contents/test-doubles/mocking-localizer.md |
| Source generators for component stubs | contents/extensions/bunit-generators.md |
| Migrating from v1 to v2 | contents/migrations/1to2.md |
| Misc testing tips and patterns | contents/misc-test-tips.md |