0
Jestテストの入力ボックスにキー入力をシミュレートしようとしています。Jestテスト環境でキーボードイベントを送出しても何もしません
このコードはブラウザでうまく動作しますが、テストで何もしないようですが、エラーはありません。私は何かここで明白な何かを紛失していると思います。
キーストロークを実行する理由は、X文字の後に入力のフォーカスをテストするためです。そのため、Jestでこれをテストする方法についての他のアイデアも高く評価されます。
const key1 = document.querySelector('.test-input');
console.log('before', key1.value); // "" empty
key1.dispatchEvent(new KeyboardEvent('keydown', { 'key': 'a' }));
key1.dispatchEvent(new KeyboardEvent('keydown', { 'key': 'b' }));
key1.dispatchEvent(new KeyboardEvent('keydown', { 'key': 'c' }));
console.log('after', key1.value); // "" empty
key1.value = 'hello??';
console.log('after', key1.value); // "hello??"
どのようにテストしていますか? Jestはブラウザ環境を模擬するために[jsdom](https://github.com/tmpvar/jsdom)を使用していると考えてください。 –
Jestを使用するノード環境。他にもうまくいくテストがありますが、キーボードのイベントと思われます。私はアサーションはまだありません。キーストローク後に更新された値を取得しようとすると、アサーションが作成されます。 – Zinc
たぶんキープスをトリガーする必要がありますか? https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent – HMR