Skip to main content

Integration Testing

Hosanna applications use two complementary kinds of integration test:

  • Vitest tests that exercise several TypeScript modules in one process.
  • Full application tests that launch a real Hosanna target, drive it through the test command plane, and inspect rendered state.

Use an in-process test when the behavior does not depend on a launched application, platform input, focus routing, rendering, or persistence. Use a full application test when the contract crosses one of those boundaries.

Full application regression tests

The Hosanna testing package integrates a launched application with Vitest. It provides semantic control and image locators, deterministic waits, remote and capable-browser touch input, registry preconditions, screenshots, reports, failure artifacts, and full-run video on supported transports.

Start with Regression Testing Overview, then follow Installation and Setup for a runnable project layout.

The hosanna-ui-samples-public suite is the runnable reference for framework behavior, application-specific preconditions, and integration helpers.

Unit and integration boundaries

Keep most logic in fast unit tests. Promote a scenario to the launched regression suite when it must prove one or more of these contracts:

  • application startup and test-run handshake;
  • focus movement or restoration after navigation;
  • remote, touch, or text input routing;
  • screen, control, collection, image, or registry state from a real runtime;
  • platform transport behavior;
  • screenshot evidence or a visual baseline.

Do not reproduce every unit-level branch through the UI. A focused default regression suite should protect high-value journeys and leave exhaustive data permutations to lower-level tests.

Talk to us