> For the complete documentation index, see [llms.txt](https://wong-coupon.gitbook.io/flutter/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wong-coupon.gitbook.io/flutter/my-reactjs/testing-quality.md).

# Testing & Quality

BDD, Playwright, mocks, RxJS tests, lifecycle checks, accessibility, and browser APIs.

BDD, Playwright, mocks, RxJS tests, lifecycle checks, accessibility, and browser APIs.

## Articles

* [Keeping Gherkin and Playwright in Sync](/flutter/my-reactjs/testing-quality/gherkin-playwright-sync.md) — Detect drift with stable scenario identity, symbol-aware reconciliation, deterministic codegen, and final runner evidence.
* [Testing Browser Permissions in React](/flutter/my-reactjs/testing-quality/testing-browser-permissions-react.md) — Separate permission state, capabilities, user activation, and resource lifecycle with request tokens, owned promises, and exactly-once cleanup.
* [Visual Regression Testing with Chromatic](/flutter/my-reactjs/testing-quality/visual-regression-chromatic.md) — Separate capture, review, and baseline promotion with opaque capabilities, idempotent receipts, and bounded audits instead of blind auto-acceptance.
* [Marble Testing for RxJS Workflows](/flutter/my-reactjs/testing-quality/rxjs-marble-testing.md) — Compile finite scenarios into virtual timelines and assert both output and subscription windows without treating scheduler tests as proof of Promise, network, browser, or production behavior.
* [Checking Test Contracts with ASTs](/flutter/my-reactjs/testing-quality/test-contracts-typescript-ast.md) — Resolve helpers by symbol and preserve step order and occurrences; separate static contracts from test execution.
* [Safer Playwright Skeleton Generation](/flutter/my-reactjs/testing-quality/playwright-scenario-outline-skeleton.md) — Expand Examples into literals, preserve row-owned table data, and review proposals before creating new files.
* [Stateful API Mocks in Playwright](/flutter/my-reactjs/testing-quality/stateful-api-mocks-playwright.md) — Separate state from response delivery, declare fault semantics, and give each test its own model and routes.
* [Mocking Realtime with Web Workers](/flutter/my-reactjs/testing-quality/realtime-worker-mocks-playwright.md) — Target an owned Worker, separate handled ACKs from UI rendering, and preserve failures through teardown.
* [Missing vs. Incomplete BDD Scenarios](/flutter/my-reactjs/testing-quality/missing-incomplete-bdd-scenarios.md) — Separate mapping, static contracts, and runtime outcomes instead of inferring completion from exit codes.
* [Stable Realtime UI Tests](/flutter/my-reactjs/testing-quality/stable-realtime-ui-tests.md) — Locate the right owner, wait for current data, and separate React commits from persistence.
* [Testing React Cleanup](/flutter/my-reactjs/testing-quality/testing-react-cleanup.md) — Check exact resource ownership, old callbacks, and surviving consumers; separate local release from task or broker cancellation.
* [Accessibility Testing in React](/flutter/my-reactjs/testing-quality/accessibility-testing-react.md) — Check role/name and portal scope; retain incomplete results for review and separate passing tests from accessibility conclusions.
* [Testing Browser APIs in JSDOM](/flutter/my-reactjs/testing-quality/testing-browser-apis-jsdom.md) — Control queries/events by owner, restore descriptors, and separate fake geometry/storage from native behavior.

[Buy Me a Coffee](https://buymeacoffee.com/ducmng12g) | [Support Me on Ko-fi](https://ko-fi.com/I2I81AEJG8)
