How to reliably await a change to an Observable type in tests

One option at that point is to build your own custom AsyncSequence type on a continuation to "deadlock" your test code. Your production code can continue to run from the regular AsyncStream or AsyncChannel but the test code injects in this custom dependency.