Mocha + Sinon 测试猫鼬方法被调用

我的重量级

我在特定路由上调用了以下函数,我正在尝试测试是否使用特定参数调用了内部的 mongoose 方法。我的代码:

import boom from 'boom'
import User from '../models/model.user'


export const getSingle = async (req, res, next) => {
    try {
        const user = await User.findById(req.payload.id, '-auth')
        if (user) {
            return res.json({user})
        }
        return next(boom.notFound('User not found'))
    } catch (err) {        
        return next(boom.badImplementation('Something went wrong', err))
    }
}

我的测试用例:

process.env.NODE_ENV = 'test'
import 'babel-polyfill'
import mongoose from 'mongoose'
import sinon from 'sinon'
require('sinon-mongoose')
import { getSingle } from '../src/controllers/controller.user'
const User = mongoose.model('User')


describe('User Controller ----> getSingle', () => {
    it('Should call findById on User model with user id', async () => {
        const req = {
                    payload: {
                        id: '123465798'
                    }
                }
        const res = { json: function(){} }
        const next = function() {}
        const UserMock = sinon.mock(User)

        UserMock.expects("findById").once().withExactArgs('123465798', '-auth')
        await getSingle(req, res, next)           
        UserMock.verify()



    })
})

它未通过测试,因为即使调用了该方法也未调用。

基督教

在测试中导入与被测代码中使用的模型相同的模型,即../models/model.user它应该按预期工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Mocha / Sinon测试猫鼬快递

来自分类Dev

单元测试MOCHA SINON CHAI(检查调用嵌套函数)

来自分类Dev

使用异步Ajax调用的Sinon / Mocha测试未返回承诺

来自分类Dev

如何使用Mocha / Sinon测试嵌套的回调?

来自分类Dev

测试与Mocha和Sinon的锚链接通话

来自分类Dev

模拟和测试与Mocha,Chai和Sinon的按键事件?

来自分类Dev

使用Mocha,Chai,chaiAsPromised和Sinon测试JS Promise

来自分类Dev

在 mocha 测试中 sinon.test() 中的 `this` 是什么?

来自分类Dev

使用 Mocha/Chai/Sinon 测试 document.createElement('a')

来自分类Dev

Mocha/Sinon 单元测试 JS 类和实例问题

来自分类Dev

使用 javascript 的 Mocha 和 Sinon 单元测试问题

来自分类Dev

单元测试猫鼬承诺与sinon

来自分类Dev

确保此测试(Mocha,Chai和Sinon)中调用了done()回调

来自分类Dev

如何使用 Mocha、Chai 和 Sinon 正确测试 Express 控制器方法

来自分类Dev

如何使用Sinon在单元测试中对猫鼬模型方法进行存根

来自分类Dev

使用sinon和mocha在ember组件中测试ajax行为时出现超时错误

来自分类Dev

这个异步JavaScript函数的单元测试(通过Mocha / Sinon)有什么问题?

来自分类Dev

如何使用Mocha / Sinon / Chai对未定义的localStorage进行单元测试

来自分类Dev

在Mocha,Chai和Sinon承诺完成后测试非承诺

来自分类Dev

如何在Promise中到达回调以使用Mocha和Sinon进行测试?

来自分类Dev

Node / Mocha / Chai / Sinon - 异步等待单元测试错误

来自分类Dev

如何在使用 sinon 的 mocha 单元测试中正确地排除请求承诺?

来自分类Dev

Sinon 和 Mocha:如何在测试函数中的断言之前等待承诺的解决?

来自分类Dev

测试的新手,我将如何与Mocha,Chai,Enzyme和Sinon一起测试此方法?

来自分类Dev

我如何期望在Node.js中使用sinon,mocha和chai的特定参数调用函数?

来自分类Dev

在NodeJS中使用Mocha和Sinon存根ES6类方法

来自分类Dev

在NodeJS中使用Mocha和Sinon存根ES6类方法

来自分类Dev

Sinon猫鼬模型的存根保存实例方法

来自分类Dev

在Mocha中使用sinon创建请求存根

Related 相关文章

  1. 1

    Mocha / Sinon测试猫鼬快递

  2. 2

    单元测试MOCHA SINON CHAI(检查调用嵌套函数)

  3. 3

    使用异步Ajax调用的Sinon / Mocha测试未返回承诺

  4. 4

    如何使用Mocha / Sinon测试嵌套的回调?

  5. 5

    测试与Mocha和Sinon的锚链接通话

  6. 6

    模拟和测试与Mocha,Chai和Sinon的按键事件?

  7. 7

    使用Mocha,Chai,chaiAsPromised和Sinon测试JS Promise

  8. 8

    在 mocha 测试中 sinon.test() 中的 `this` 是什么?

  9. 9

    使用 Mocha/Chai/Sinon 测试 document.createElement('a')

  10. 10

    Mocha/Sinon 单元测试 JS 类和实例问题

  11. 11

    使用 javascript 的 Mocha 和 Sinon 单元测试问题

  12. 12

    单元测试猫鼬承诺与sinon

  13. 13

    确保此测试(Mocha,Chai和Sinon)中调用了done()回调

  14. 14

    如何使用 Mocha、Chai 和 Sinon 正确测试 Express 控制器方法

  15. 15

    如何使用Sinon在单元测试中对猫鼬模型方法进行存根

  16. 16

    使用sinon和mocha在ember组件中测试ajax行为时出现超时错误

  17. 17

    这个异步JavaScript函数的单元测试(通过Mocha / Sinon)有什么问题?

  18. 18

    如何使用Mocha / Sinon / Chai对未定义的localStorage进行单元测试

  19. 19

    在Mocha,Chai和Sinon承诺完成后测试非承诺

  20. 20

    如何在Promise中到达回调以使用Mocha和Sinon进行测试?

  21. 21

    Node / Mocha / Chai / Sinon - 异步等待单元测试错误

  22. 22

    如何在使用 sinon 的 mocha 单元测试中正确地排除请求承诺?

  23. 23

    Sinon 和 Mocha:如何在测试函数中的断言之前等待承诺的解决?

  24. 24

    测试的新手,我将如何与Mocha,Chai,Enzyme和Sinon一起测试此方法?

  25. 25

    我如何期望在Node.js中使用sinon,mocha和chai的特定参数调用函数?

  26. 26

    在NodeJS中使用Mocha和Sinon存根ES6类方法

  27. 27

    在NodeJS中使用Mocha和Sinon存根ES6类方法

  28. 28

    Sinon猫鼬模型的存根保存实例方法

  29. 29

    在Mocha中使用sinon创建请求存根

热门标签

归档