gpt4 book ai didi

reactjs - 如何使用 React 测试库粘贴剪贴板数据?

转载 作者:行者123 更新时间:2023-12-03 15:47:33 25 4
gpt4 key购买 nike

我正在尝试将剪贴板中已有的文本粘贴到文本框中,但我不明白如何使用“eventInit”来执行此操作。我已阅读有关如何将文本粘贴到文本框中的文档,但不清楚如何使用 eventInit。
如何使用 userEvent 将剪贴板中的文本粘贴到文本框中?
这是我的代码:

test('Copy id button copies correct id', async () => {
const { getAllByLabelText, debug, getByText } = render(
<MockedProvider mocks={mocks} addTypename={false}>
<History />
</MockedProvider>
);

const textbox = <input type="text" />;

await waitFor(() => new Promise((resolve) => setTimeout(resolve, 0)));

const button = getAllByLabelText('click to copy id')[0];
fireEvent.click(button);
// userEvent.paste(textbox,_,) unsure what to do here...
});
Documentation :
Documentation

最佳答案

另一种选择是做类似的事情

test('Pasting fires onPaste event which returns clipboard data', () => {
const pasted = jest.fn(() => null);
const changed = jest.fn(() => null);

render(
<PasteComponent paste={pasted} changeEvent={changed} data-testid='paste-input' />);

const PhoneNumberElement = screen.queryByTestId('paste-input');

const paste = createEvent.paste(PhoneNumberElement, {
clipboardData: {
getData: () => '123456',
},
});

fireEvent(PhoneNumberElement, paste);

expect(pasted).toHaveBeenCalled();
expect(pasted).toHaveBeenCalledWith('123456');
});
我写了一篇关于它的帖子 - https://medium.davidendersby.me/2-ways-to-trigger-the-onpaste-event-with-testing-library-1502c5fdb9e

关于reactjs - 如何使用 React 测试库粘贴剪贴板数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66144715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com