我超级迷路了。
我们在Loqate的窗口中有一个名为window.pca.Addresses
的类
然后在我们的代码中,我们在react方法中运行以下代码段:
const shippingControl = new pca.Address(shippingFields, { key: process.env.LOQATE_API_KEY });
window.setTimeout(() => {
shippingControl.load();
}, 3000);
我的问题是如何编写一个开玩笑的测试来模拟窗口中的Address类,然后还添加load()方法,以便我们可以测试它是否被触发。
我试图窥探作为全局对象和窗口对象的window对象,并使用jest.mock()对其进行模拟,但该方法也没有用。
我想知道是否有人可以指导我如何做?
非常感谢
答案 0 :(得分:0)
您可以将beforeEach
添加到测试中,如下所示:
beforeEach(() => {
Object.defineProperty(window, "pca", {
value: {
Addresses: { load: jest.fn(() => null) }
},
writable: true
});
});
您可以像这样测试它是否被触发:
expect(window.pca.Addresses.load).toHaveBeenCalledTimes(1);