我试图在window对象中模拟ontouchstart事件来进行一些测试,但我找不到合适的方法来完成它
export const main = () =>
!!('ontouchstart' in window || navigator.maxTouchPoints);我试着做
it('123', () => {
const spyWindowOpen = jest.spyOn(window, 'ontouchstart');
spyWindowOpen.mockImplementation(jest.fn());
});但是,在我的编译测试中,window对象上似乎不存在ontouchstart。
发布于 2022-06-06 09:17:56
我可以这么做:
describe('support ontouchstart', () => {
it('return true when window support ontouchstart event', () => {
// eslint-disable-next-line no-global-assign
window = {
ontouchstart: jest.fn(),
};
expect(!!('ontouchstart' in window)).toBe(true);
});
});
})发布于 2022-06-13 03:57:41
请确保在原来的位置重新设置窗口,如下所示。
it('should render', () => {
const original = window.ontouchstart;
window.ontouchstart = jest.fn();
// rest of your code like
// expect(!!('ontouchstart' in window)).toBe(true);
window.ontouchstart = original;});
https://stackoverflow.com/questions/72493086
复制相似问题