gpt4 book ai didi

testing - 依赖 'Facts' 包内部进行包测试是否安全?

转载 作者:行者123 更新时间:2023-11-28 21:29:29 24 4
gpt4 key购买 nike

我有一个经常使用 observeChanges 的包 ( yeputons/meteor-smart-publish ),我想添加一个测试(我现在使用 TinyTest),它允许我确保所有这些观察者都被终止最后,没有跳过任何 handle.stop()

直接的方法是:添加“Facts”包(它是 Meteor 内部的),订阅“meteor_facts”并检查带有 _id="的项目的 observe-handles 属性mongo-livedata",这不是很安全,因为它都是未记录的,将来可以以任何方式修改。

是否有更多的记录方式来检查这些事情?

最佳答案

Facts 包的唯一目的是在您的管理界面的仪表板中显示一些移动的数字。

这是我提出的解决方案,它仍然是 hacky,但至少可以在不涉及客户端上的事实和订阅的情况下实现:

您可以猴子修补 oplog-observe-driver 和 polling-driver 类的构造函数和停止方法。通过用一个只调用原始函数但验证测试中的某些状态的函数包装它们,您可以实现测试目标:

https://github.com/meteor/meteor/blob/cf4477ff27cba9f8a8f63ec2f435969af0b6707c/packages/mongo/oplog_observe_driver.js#L29

https://github.com/meteor/meteor/blob/cf4477ff27cba9f8a8f63ec2f435969af0b6707c/packages/mongo/oplog_observe_driver.js#L853

https://github.com/meteor/meteor/blob/cf4477ff27cba9f8a8f63ec2f435969af0b6707c/packages/mongo/polling_observe_driver.js#L1

https://github.com/meteor/meteor/blob/cf4477ff27cba9f8a8f63ec2f435969af0b6707c/packages/mongo/polling_observe_driver.js#L181

关于testing - 依赖 'Facts' 包内部进行包测试是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28266928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com