Flutter FakeAsync和quiver.testing.async之间有什么区别?

Flutter FakeAsync和quiver.testing.async之间有什么区别?,flutter,dart,Flutter,Dart,似乎有相同的功能,所以作为一个颤振和飞镖应用程序开发我不知道该使用哪一个 在特殊情况下,是否应该使用其中一个?这两个包的文档中也没有任何内容对此提供任何指导。这两个软件包似乎都是由GoogleFlatter和Dart团队的成员编写和维护的,这使得它更加混乱 我唯一能看到的是FakeAsync软件包最后一次更新是在2018年7月,而Quiver是在2019年11月,那么FakeAsync是否已被弃用?如果是这样的话,就没有这样的标签。还有少数核心软件包目前依赖于FakeAsync,而大量不同的软件

似乎有相同的功能,所以作为一个颤振和飞镖应用程序开发我不知道该使用哪一个

在特殊情况下,是否应该使用其中一个?这两个包的文档中也没有任何内容对此提供任何指导。这两个软件包似乎都是由GoogleFlatter和Dart团队的成员编写和维护的,这使得它更加混乱

我唯一能看到的是FakeAsync软件包最后一次更新是在2018年7月,而Quiver是在2019年11月,那么FakeAsync是否已被弃用?如果是这样的话,就没有这样的标签。还有少数核心软件包目前依赖于FakeAsync,而大量不同的软件包依赖于quiver(尽管不知道它们是否依赖于quiver
testing.async)。

我试图(成功有限)挖掘混乱的历史

,几个月后,作者。我不知道有两个独立实现的理由是什么,但我可以猜测,也许作者希望对代码有更直接的控制。(换句话说,
package:fake_async
最初不是由谷歌编写或拥有的。)

我四处询问,我的理解是,
package:fake_async
停止维护,谷歌的Dart团队最终获得了
package:fake_async
的所有权,以便可以为Dart 2进行更新

从一开始,它确实是想成为
quivel
版本的超集,但后来实现出现了分歧,因此它不再完全向后兼容

在这一点上,我个人会使用
quiver
版本:它的维护更好,也是颤振使用的,所以我希望它后面有更多的惯性

我还申请将指南添加到文档中

更新
我现在建议使用
包:fake\u async
。颤振向另一个方向移动,转而使用
package:fake_async
package:fake_async
已更新为
quiver
版本的正确超集。另请参见。

确实有点提到:
包:假异步
一度是
箭袋
假异步
的超集。然而,目前
quiver
的版本已经出现了分歧,因此
package:fake_async
不再完全向后兼容(例如,我在
quiver
的版本中添加了
FakeAsync.pendingTimersDebugInfo
)=/另外,FWIW,flatter使用
quiver
,因此无论好坏,我希望
quiver
版本背后有更多的惯性。非常感谢@jamesdlin!如果你回答了,我会很高兴地将你的评论标记为已接受。仅供参考,Flatter现在使用的是
package:fake_async
,所以请将我之前所说的全部颠倒过来。