首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用jestJS模拟嵌套函数

如何使用jestJS模拟嵌套函数
EN

Stack Overflow用户
提问于 2018-10-16 08:25:48
回答 1查看 42关注 0票数 1

我试图为这个函数编写一个使用jestJS的测试,但我遇到了一些问题,如何模拟socket.emit()getPwmDutyCycle()函数:

代码语言:javascript
复制
module.exports = async (app, socket) => {
  const res = []
  const array = ['some', 'example', 'elements']
  array.map((elm, index) => {
    res.push(app.locals['target' + (index + 1)].getPwmDutyCycle())
  })
  socket.emit('status', res)
}

这就是我想出来的:

代码语言:javascript
复制
const status = require('../lib/status.js')

test('should emit dc values', () => {
  const app = {
    locals: {
      target1: 1,
      target2: 2,
      target3: 3
    }
  }
  const socket = { emit: jest.fn() }
  status(app, socket)
  expect(socket.emit).toHaveBeenCalled()
  expect(socket.emit.mock.calls[0][0]).toBe('status')
  expect(socket.emit.mock.calls[1][0]).toBe([1, 2, 3])
})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-16 08:38:50

您的app存根错过了getPwmDutyCycle方法:

代码语言:javascript
复制
  const app = {
    locals: {
      target1: { getPwmDutyCycle: () => 1},
      target2: { getPwmDutyCycle: () => 2},
      target3: { getPwmDutyCycle: () => 3}
    }
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52831059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档