【发布时间】:2021-10-01 06:14:24
【问题描述】:
我正在尝试使用 jest 断言 windows 对象的值。 例如: 断言谷歌标签管理器的 window.dataLayer 值。
如何使用单元测试 jest 框架来实现它?
【问题讨论】:
标签: unit-testing jestjs google-tag-manager window-object
我正在尝试使用 jest 断言 windows 对象的值。 例如: 断言谷歌标签管理器的 window.dataLayer 值。
如何使用单元测试 jest 框架来实现它?
【问题讨论】:
标签: unit-testing jestjs google-tag-manager window-object
如果你想调用在window.dataLayer 对象中找到的对象,只需模拟你将调用的函数:
window.dataLayer = jest.fn(() => {
push: jest.fn(),
});
在你测试你的功能之前。
如果你想在多个测试中使用,你可以在beforeAll中设置
【讨论】:
window.dataLayer 中的实际值。这就是测试的目的。现在,我的测试文件中的窗口对象与我的实际文件中的窗口对象具有不同的值。由于window.dataLayer 用于谷歌标签管理器,dataLayer 属性甚至不存在于测试文件内的window 对象中。如何将实际的窗口对象导入并测试到测试文件?看看它是dataLayer 实际值吗?