我正在尝试在我的一个组件中测试一个函数,该函数包含以下两行:
this.rzp1 = new Razorpay(orderDetails);
this.rzp1.open();
我试图了解如何在我的测试用例中模拟Razorpay这个函数。
这就是我在我的组件中声明Razorpay的方式:
export declare var Razorpay: any;
我已经尝试了各种方法,如:
var stub = sinon.createStubInstance(MyConstructor)
任何线索都会有所帮助。
为什么不使用茉莉花的内置间谍设施而不是依赖另一个库(sinon)?
在每个块之前,您可以执行以下操作:
beforeEach(() => {
jasmine.spyOnAllFunctions(Razorypay.prototype);
Razorypay.prototype.open.and.returnValue('foo');
});
您可以找到有关spyOnAllFuntions
in the documentation的更多信息。