javascript - 如何使用 Jest 和 jsdom 来测试 console.log?

标签 javascript unit-testing jestjs

我刚刚开始使用 Jest,并且已经成功编写了测试 DOM 的单元测试。我有一个 library在屏幕上输入内容,所以我可以很好地进行测试。在某些情况下,我的库不会抛出错误,而是吐出 console.warnconsole.log。是否可以使用 Jest 来测试这些控制台消息是否正在发生?

最佳答案

您可以像这样通过 spy 设置 console.log :

global.console = {
  warn: jest.fn(),
  log: jest.fn()
}

// run your code

expect(global.console.log).toHaveBeenCalledWith('test')

由于您的测试文件在单独的线程中运行,因此您无需将 console 重置为原始方法

关于javascript - 如何使用 Jest 和 jsdom 来测试 console.log?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44344801/

相关文章:

javascript - 使用 Asp.Net MVC 删除 javascript 中硬编码字符串的最佳方法

javascript - 使用 Prototype 将事件监听器附加到项目集合

c# - 如何使用 Moq stub 接口(interface)方法

c# - NServiceBus 处理程序单元测试的依赖注入(inject)

javascript - Jest 显示访问 PropTypes 和 createClass 的 console.warn

Typescript 期望 mockImplementation 为所有方法和属性提供模拟

node.js - 使用 jest 和 superagent 进行测试时如何模拟函数

javascript - 为 d3 网络图添加选择框

javascript - 监听 Javascript 中的函数

silverlight - 单元测试 silverlight 这住在哪里?