Repository navigation
2.2.0
NnTestKit 2.2.0
Released 2026-05-23
This release expands @Observable testing support and adds a UI test helper for time-based date pickers.
Highlights
- Observation testing helpers — bridge
@Observableproperties to async streams and assert on change propagation, mirroring the ergonomics of the existing Combine helpers. - Time picker UI helper — drive compact
DatePickers configured for hour/minute selection, with AM/PM support for 12-hour locales.
What's New
NnSwiftTestingHelpers
observationStream(of:)— bridges an@Observableproperty to anAsyncStreamof post-change values, mirroringPublished.Publisher.waitUntilfromCombineHelpers. Available on macOS 14+, iOS 17+, tvOS 17+, watchOS 10+.AsyncStream.waitUntil(timeout:condition:)— awaits a value that satisfies a predicate, throwingAsyncStream.WaitError.timeoutif it isn't reached in time.expectObservationFires(when:afterReading:timeout:sourceLocation:)— a one-shot assertion that verifies an@Observableproperty change propagates throughwithObservationTrackingafter running a trigger.
NnUITestHelpers
selectTime(pickerId:hour:minute:period:timeout:)onBaseUITestCase— adjusts compact-styleDatePickers configured withdisplayedComponents: .hourAndMinute, including optional AM/PM wheel support for 12-hour locales.
Compatibility
No breaking changes. The new observation helpers require macOS 14+ / iOS 17+ / tvOS 17+ / watchOS 10+.
Full changelog: v2.1.0...v2.2.0