我正在使用反應測驗庫用戶事件來測驗我的 ag 網格上的鍵盤互動。我正在嘗試輸入 CTRL ,它在我的網格上做了一些事情,但也沒有按照我期望的方式作業。似乎它沒有正確注冊 CTRL ,但我不確定。
下面是我做的用戶事件鍵盤代碼,它沒有做那個特定的輸入。我復制了相同的功能并將其設定為當您單擊“p”時它會執行相同的操作并且在測驗中有效,但 CTRL 無效。有什么想法嗎?
我嘗試了幾種方法,但它不起作用。
await user.keyboard('{ctrl},{/ctrl}');
await user.keyboard('{ctrl}{,/}{/ctrl}');
await user.keyboard('{ctrl}[,]{/ctrl}');
uj5u.com熱心網友回復:
問題是逗號不是修飾鍵,所以不能和 ctrl 鍵一起使用。解決方案是使用 keydown 事件而不是 keypress 事件。
這是一個例子:
import { fireEvent, render } from '@testing-library/react';
test('can type "p"', () => {
const { getByTestId } = render(<input data-testid="input" />);
const input = getByTestId('input');
fireEvent.keyDown(input, { key: 'p', code: 80, ctrlKey: true });
expect(input.value).toBe('p');
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/528207.html
下一篇:引數和期望超出范圍是否可以
