我正在尝试在我的组件之一中测试一个函数,该组件包含以下两行:
this.rzp1 = new Razorpay(orderDetails);
this.rzp1.open();
我试图了解如何在该功能的测试用例中模拟 Razorpay。
这就是我在组件中声明 Razorpay 的方式:
export declare var Razorpay: any;
我已经尝试过各种方法,例如:
var stub = sinon.createStubInstance(MyConstructor)
任何线索都会有帮助。
最佳答案
为什么不使用 jasmine 的内置 spy 工具而不是依赖另一个库(sinon)?
在每个 block 之前,您可以执行以下操作:
beforeEach(() => {
jasmine.spyOnAllFunctions(Razorypay.prototype);
Razorypay.prototype.open.and.returnValue('foo');
});
您可以找到有关 spyOnAllFuntions
in the documentation 的更多信息.
关于unit-testing - 在 Angular 单元测试中模拟第三方库(Razorpay)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55797942/