支持 CompletionStage 友好方法签名

作者: rmannibucau创建于 2026年1月18日更新于 2026年9月11日
标签theme: programming modelcomponent: Jupitertype: new featurestatus: waiting-for-interest

通常会有友好代码的保证 - 虚拟线程不会改变这种情况,至少对于库而言。 我们在代码中一直使用 `promise.get()` 来满足 junit 签名支持的要求。 请求是允许返回一个 promise(`@Test CompletionStage<?> myTest() { ... }`)。 这样就可以像大部分代码库一样定义测试代码,使用与 promise 相关的 API,而无需随机阻塞,从而更好地利用并发模式下的 CPU。 junit 运行时将会围绕测试方法进行 try/catch,就像今天一样,但如果结果是一个 promise,它将使用 `whenComplete` 来等待它,以检查是否存在失败。 框架将保证所有 promise 在退出前都已完成 - 就像今天一样。

内容来源: junit-team/junit-framework