Jestjs 反应测试点击处理程序钩子
我对用Jestjs 反应测试点击处理程序钩子,jestjs,create-react-app,Jestjs,Create React App,我对用jest编写测试非常生疏。我正在使用随create react app提供的库 我有一个click handler钩子,我想测试一下,但不确定从这里到哪里去: import { useRef } from 'react'; import useOutsideClickHandler from './useOutsideClickHandler'; test('handle outside clicks hook', () => { const div = document.
jest
编写测试非常生疏。我正在使用随create react app
提供的库
我有一个click handler钩子,我想测试一下,但不确定从这里到哪里去:
import { useRef } from 'react';
import useOutsideClickHandler from './useOutsideClickHandler';
test('handle outside clicks hook', () => {
const div = document.createElement('div');
const node = useRef(div);
const onOutsideClick = () => { /* outside click */ };
useOutsideClickHandler({node, onOutsideClick});
/**
* Test:
* - inside click response
* - outside click response
*/
});
我想我可以按照以下思路做一些事情:
import { useRef } from 'react';
import useOutsideClickHandler from './useOutsideClickHandler';
// import enzyme
test('handle outside clicks hook', () => {
let clicked;
const div = document.createElement('div');
const node = useRef(div);
const onOutsideClick = () => { clicked = 'outside' };
useOutsideClickHandler({node, onOutsideClick});
// div.simulate('click')...set clicked to inside
});
编辑:
为了澄清这一点,我想模拟容器内外的点击,以获得正确的响应
我想我现在可能知道该做什么,但很快就会更新/回复帖子。
我将创建第二个div
,其中包含第一个,并为该div
创建一个ref
。然后我将使用enzyme
模拟单击每个div
。一个具有内部响应,另一个具有外部响应
编辑:有没有一种方法可以模拟没有酶的点击?我知道只有一个非官方的图书馆供你使用+