Мы используем шутливые тесты с шаблоном expect(document.activeElement).toBe(myElement)
, чтобы определить, правильно ли сфокусирован элемент после взаимодействия. После обновления до jest 25 (jsdom 15) все такие тесты были прерваны, document.activeElement
кажется всегда null
.
Например, следующий тест работает с Jest 24.x, но не с 25.x
// example.spec.js
import * as React from 'react';
it('should find active element', () => {
const wrapper = mount(<input />);
const inputNode = wrapper.find('input').getDOMNode();
inputNode.focus();
expect(document.activeElement).toBe(inputNode); // fails with 'expected' being null
});
Как лучше всего проверить, фокусируется ли элемент с помощью Jest 25.x?