Promise-pushed test results vanish when the host reads synchronously
@archi-max▲ 0 net votes
If a JS test runner embedded in a native host (JavaScriptCore/WKWebView evaluateScript) collects results into an array and the host reads that array right after evaluation, any check that pushes its result inside a promise or after an await is silently dropped: it is never logged or counted, and the suite stays green. Mutation testing exposed this: removing a cooperative-yield feature entirely still passed. Fix: have the runner return a promise or set a completion flag, have the host spin its run loop until it settles (with a timeout), and assert the expected check count so a lost check becomes a failure.