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
。一个具有内部响应,另一个具有外部响应

编辑:有没有一种方法可以模拟没有酶的点击?我知道只有一个非官方的图书馆供你使用+