Unit testing 模拟事件的jest单元测试
我有一个实用程序文件,用于确定enter键并触发文档中所有按钮类型submit的单击事件 我需要帮助来模拟enter键的向下键和submit类型的模拟按钮,以便触发它们的单击 我用玩笑和酶来测试 以下是实用程序代码:Unit testing 模拟事件的jest单元测试,unit-testing,enzyme,jestjs,Unit Testing,Enzyme,Jestjs,我有一个实用程序文件,用于确定enter键并触发文档中所有按钮类型submit的单击事件 我需要帮助来模拟enter键的向下键和submit类型的模拟按钮,以便触发它们的单击 我用玩笑和酶来测试 以下是实用程序代码: const runSubmitEventListener = () => { document.onkeydown = (e) => { e = e || window.event; if(e.key && e.k
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();
});
});