Tag: 间谍

使用Jasmine监听构造函数

我正在使用Jasmine来testing是否创build了某些对象,并调用方法。 我有一个jQuery小部件,创buildflipcounter对象,并调用setValue方法。 flipcounter的代码在这里: https ://bitbucket.org/cnanney/apple-style-flip-counter/src/13fd00129a41/js/flipcounter.js flipcounters创build使用: var myFlipCounter = new flipCounter("counter", {inc: 23, pace: 500}); 我想testingflipcounters是否被创build,并调用setValue方法。 我的问题是,如何在这些对象被创build之前监视它们? 我是否监视构造函数并返回假对象? 示例代码真的有帮助。 谢谢你的帮助! 🙂 更新: 我试过这样的flipCounter间谍: myStub = jasmine.createSpy('myStub'); spyOn(window, 'flipCounter').andReturn(myStub); //expectation expect(window.flipCounter).toHaveBeenCalled(); 然后通过flipCountertestingsetValue调用: spyOn(myStub, 'setValue'); //expectation expect(myStub.setValue).toHaveBeenCalled(); 初始化flipCounter的第一个testing是好的,但为了testingsetValue调用,所有我得到的是一个'setValue()方法不存在'的错误。 我是这样做的吗? 谢谢!

有人可以解释一下Spock框架testing中的Mock,Stub和Spy之间的区别以及何时使用它们?

我不明白Spocktesting中的Mock,Stub和Spy之间的区别,我一直在网上查看的教程没有详细解释它们。

茉莉花 – 在构造函数中侦听方法调用

我想testing是否在我的Javascript对象构造函数中调用以下方法。 从我在Jasmine文档中看到的,我可以窥探一个构造函数方法,并且可以在一个对象被实例化之后监听方法,但是我似乎无法在构造对象之前窥探一个方法。 物体: Klass = function() { this.called_method(); }; Klass.prototype.called_method = function() { //method to be called in the constructor. } 我想在规范中做这样的事情: it('should spy on a method call within the constructor', function() { spyOn(window, 'Klass'); var obj = new Klass(); expect(window.Klass.called_method).toHaveBeenCalled(); });