我在应用程序中使用ckeditor4-react
中的CKEditor
组件.我想创建一个jest
测试,它将使用react-testing-library
在这个CKEditor
组件中编写一些内容.
目前,我的组件包含如下代码:
const handleChange = (event: any) => {
setBody(event.editor.getData());
};
<CKEditor
onChange={handleChange}
data-testid="ckeditor-textfield"
/>
这在手动测试时效果很好.
在我的jest测试中,我得到了以下几点:
const editorText = screen.getByTestId('ckeditor-textfield');
fireEvent.change(editorText, { target: { value: 'Email body text' } });
但是,这不起作用,我得到一个错误:
TestingLibraryElementError:无法通过以下方式找到元素:
如果我try 通过以下操作以不同的方式获取编辑器文本字段:
const editorText = document.getElementsByClassName('cke_editable')[0];
我得到以下错误:
无法触发"更改"事件-请提供DOM元素.
如何测试CKEditor
组件的输入字段?