Articles of 存根

在NodeJS中使用Mocha和Sinon来ES6类的方法

有没有办法使用摩卡/ Sinon存根ES6类的方法? 我正在尝试这样做… sinon.stub(Factory, 'announce'); 但我只是得到以下错误… TypeError: Attempted to wrap undefined property announce as function

何时使用Meteor.methods和利用存根

使用meteor,我试图了解何时使用服务器端Meteor.methods()同时仍然保持即时UI更新。 从Andrew Scala的入门教程中 ,他声称当你想更新和修改你的数据库文档时应该使用Meteor.methods() : 这个想法是,你定义了服务器上的所有function,如修改和更新数据等危险的东西,然后让客户端调用这些function,并得到像常规函数的返回值。 客户从来没有看到实施,也不亲自修改数据。 服务器完成所有工作。 遵循这个build议,我在我的代码中实现了这个: 服务器端: Meteor.methods({ addMovie: function(data) { var movie = Movies.insert({name: data}); return movie; }, … 客户端: Template.movies.events = ({ 'click #add-movie': function(e) { var name = document.getElementById('movie-name').value; Meteor.call('addMovie', name); return false; }, … 这有效,但速度很慢。 如果您在客户端调用Movies.insert() ,UI将不会立即更新。 文档指出,为了纠正这个问题,你可以在客户端创build存根: 客户端调用方法定义了与同名服务器方法相关的存根函数。 如果你不想要,你不必为你的方法定义一个存根。 在这种情况下,方法调用就像其他系统中的远程过程调用一样,您将不得不等待来自服务器的结果。 但是这些存根应该是什么样的? 它应该基本上看起来像服务器端方法一样吗? 如果是这样,那有什么意义呢? 我正在寻找Meteor.methods()的用法和目的的更全面的解释,存根的使用和使用,以及它们的实现。 编辑:大卫格林斯潘已经帮助澄清Meteor.methods()和stream行谈话的存根(stub)的使用。