--- title: >- Automated testing for Shopify UI extensions with @shopify/ui-extensions-tester - Shopify developer changelog description: >- Shopify’s developer changelog documents all changes to Shopify’s platform. Find the latest news and learn about new platform opportunities. source_url: html: >- https://shopify.dev/changelog/automated-testing-for-shopify-ui-extensions-with-shopify-ui-extensions-tester md: >- https://shopify.dev/changelog/automated-testing-for-shopify-ui-extensions-with-shopify-ui-extensions-tester.md metadata: effectiveApiVersion: 2026-04 affectedApi: - displayName: Admin Extensions handle: admin-extensions - displayName: Checkout UI handle: checkout-ui-api - displayName: Customer Accounts handle: customer-accounts - displayName: POS Extensions handle: pos-extensions primaryTag: displayName: API handle: api secondaryTag: displayName: New handle: new indicatesActionRequired: false createdAt: '2026-04-06T11:06:36-04:00' postedAt: '2026-04-13T12:00:00-04:00' updatedAt: '2026-04-14T06:52:01-04:00' effectiveAt: '2026-04-07T12:00:00-04:00' --- April 13, 2026 Tags: * Admin Extensions * Checkout UI * Customer Accounts * POS Extensions * 2026-04 # Automated testing for Shopify UI extensions with @shopify/ui-extensions-tester As of API version 2026-04, Shopify provides an official testing library for UI extensions. `@shopify/ui-extensions-tester` lets you write unit tests for extensions on any surface — Checkout, Admin, Customer Accounts, and POS — without a running Shopify host. ### What it does The library provides strongly typed mocks of the extension API, so you can render extensions in isolation, simulate user interactions, and verify behaviour against public APIs with full type safety. ### Key capabilities * **Render and query**: Render your extension in a standard DOM environment and query the output using standard testing patterns. * **Type-safe mocks**: The mocked `shopify` global uses the same types as the real API, catching incorrect API usage at test time. * **Surface-specific defaults**: Sensible mock defaults for each target surface (Checkout, Admin, Customer Accounts, POS) so tests work out of the box. * **Event simulation**: Trigger user interactions and test async state changes with `dispatchEvent()` or `@testing-library/preact`. * **AI-agent friendly**: Strongly typed mocks and predictable test patterns make the library well-suited for AI-assisted test-driven development. ### Getting started Read [documentation](https://github.com/Shopify/ui-extensions/blob/2026-04/packages/ui-extensions-tester/README.md) to learn more. Get started with [example test suites](https://github.com/Shopify/ui-extensions/tree/2026-04/examples/testing) for every surface.