Tag: 间谍

Node JS Jasmine用jasmine.any()testing多个types

我正在使用茉莉花( v2.2.0 )进行testing,我试图窥探一个方法,预计将调用第一个参数的具体数据,第二个未知types。 我熟悉间谍和间谍 .toHaveBeenCalledWith()语法,并joinjasmine.any()它可能看起来像这样: expect(my.spy).toHaveBeenCalledWith('startMenu', jasmine.any(String)); 但我无法find一种方法来处理几种types。 我正在寻找的是一种方法来执行相同的行动,其中第二个参数是任何types,以及当第二个参数是某些types之一,如: // Any type is okay: expect(my.spy).toHaveBeenCalledWith('startMenu', jasmine.any()); // String or number only: expect(my.spy).toHaveBeenCalledWith('startMenu', jasmine.any(String OR Number)); 不用说,前面的例子不是工作代码,他们正是我正在寻找正确的语法。 另一个说明,我发现jasmine.anything() 几乎可以处理任何事情,但未能undefined 。 任何forms的帮助,非常感谢。

Sinon间谍function不起作用

根据sinon.js的文档,我可以这样做: var spy = sinon.spy(myFunc); ,但它不起作用。 这是我的努力: var sinon = require("sinon"); describe('check bar calling', function(){ it('should call bar once', function() { var barSpy = sinon.spy(bar); foo("aaa"); barSpy.restore(); sinon.assert.calledOnce(barSpy); }); }); function foo(arg) { console.log("Hello from foo " + arg); bar(arg); } function bar(arg) { console.log("Hellof from bar " + arg); }

Jasmine-node – 在一个名为inside other function的构造函数中创build一个间谍

我是茉莉花的新手,我需要在这个框架中为node.js应用程序编写一些unit testing。 我有一些问题,其中之一是如下所述: var sampleFunction = function(){ var loader = new Loader(params); // rest of logic here } 我想为sampleFunction编写unit testing。 要做到这一点,我需要在Loader构造函数上创build间谍,并检查这个构造函数是作为参数获取的,它返回的对象是什么types。 任何想法如何做到这一点? 我试图创buildLoader.prototype.constructor间谍,但它不是解决这个问题。