模拟事件的开玩笑单元测试

时间:2017-12-07 11:24:45

标签: unit-testing enzyme jest

我有一个实用程序文件,用于确定输入键,并触发文档中存在的所有按钮类型提交的单击事件。

我需要帮助来模拟输入键的按键,并使用提交类型的模拟按钮来触发他们的点击。

我正在使用jest和酶进行测试。

以下是实用程序代码:

const runSubmitEventListener = () => {
    document.onkeydown = (e) => {
        e = e || window.event;
        if(e.key && e.key.toLowerCase() === 'enter'){
            document.querySelector('button[type="submit"]') && document.querySelectorAll('button[type="submit"]').click();
        }
    }
}

export default{
    runSubmitEventListener
}

此外,已经开始编写下面是文件的测试用例。请提出进一步的步骤,因为我是新手单元测试的新手。

import events from './events';

describe('events utility', () => {
    it('should have runSubmitEventListener to be defined', () => {
        expect(events.runSubmitEventListener).toBeDefined();
    });
    it('should trigger click of button type submit on keydown enter key', () => {
        const event = new keyBoardEvent('keydown', {'key': 'enter', 'keycode': 13});
        document.dispatchEvent(event);
        // expect(events.runSubmitEventListener).toHaveBeenCalled();
    });
});

0 个答案:

没有答案