An already-constructed, not yet started application — typically the
createApp() a scaffolded project exports from setu.config.ts, or a
starter factory's return value.
createTestApp applies without, then overrides, then starts it.
OptionalautoWhether to auto-start the application.
OptionaloverridesPlugins to append after without is applied — usually
overrideCapability results, though any IPlugin is accepted.
This exists because the default autoStart: true leaves no window between
construction and start() in which a caller could register them.
OptionalpluginsNot available on this arm — supply plugins or app, never both.
OptionalwithoutPlugin names to drop before start(), so their register() never runs
and any eager side effect inside it never happens.
Throws naming the entry if the application holds no plugin with that name:
a silently ignored without: ['databse'] would run the whole test against
the real plugin while reporting success. Repeated entries are de-duplicated,
so listing a name twice is not that error.
Composition-root arm of
TestAppOptions: the test starts from the application the project actually ships and subtracts from it.This is the arm that makes a test app compose like a real one. Everything the root registered — middleware, error handling, health indicators, route ordering — is present, so a test observes the composition production has rather than a second one assembled by hand.
Since
0.6.0