javascript - 如何在两个 Jest 测试之间取消设置元素焦点?

标签 javascript jestjs

我正在测试在某些条件下焦点是否设置在 DOM 元素上。

我有一个 describe() ,其中连续包含两个 it() 测试。但是,当我将测试用例放置在首先将焦点设置在 DOM 元素上的位置时,那么第二个测试用例也会将焦点设置在该 DOM 元素上(我正在检查document.activeElement)。

我曾尝试运行 jest.resetModules()jest.restoreAllMocks()document.body.focus() 之前和测试后 - 一切都无济于事。关于如何重置焦点有什么建议吗?

最佳答案

如果您以命令式方式取消焦点怎么办?

beforeEach(() => {
 document.activeElement && document.activeElement.blur();
});

关于javascript - 如何在两个 Jest 测试之间取消设置元素焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59949109/

相关文章:

javascript - chart.js 加载全新数据

javascript - 没有 jQuery 的带有自定义滚动条的 HTML 表格

angular - 在 Visual Studio Code 中使用 Jest 调试 Angular 测试

reactjs - 在 Jest 测试中,它说 withRouter () 不是函数

javascript - 包装函数的 Jest 单元测试示例

javascript - 在 JavaScript 中将多组参数作为数组传递是否比多个函数调用更快?

javascript - 初学者的 Javascript 作业?

javascript - 如何验证该变量是 Javascript 中定义的对象数组

TypeScript 无法识别我的 jest mock 模块

javascript - 在开 Jest 中使用 expo sqlite 调用单元测试类