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