2017-03-15 78 views
1

我想測試我的路線有貓鼬在查詢路線我不斷收到回:測試表達對貓鼬查詢

AssertionError: expected undefined to equal true 

下面是我測試的基本模板。目前我只想確認它是否調用了res.json。

路線返回所有條目在用戶模式

route.js

const User = require('../../../models/users/users'); 

const listUsers = (req, res) => { 
    User.find((err, users) => { 
    if (err) res.send(err); 

    res.json(users); 
    }) 
}; 

module.exports = listUsers; 

test.js

const expect = require('chai').expect; 
const sinon = require('sinon'); 

const listUsers = require('../../../../src/routes/api/users/listUsers'); 

describe('listUsers',() => { 
    it('retrieves users',() => { 
    const req = {}; 
    const res = {}; 
    const spy = res.json = sinon.spy; 

    listUsers(req, res); 
    expect(spy.calledOnce).to.equal(true); 
    }) 
}); 

回答

0

找到函數有兩個參數。第一個是搜索條件,第二個是回調函數。看起來你錯過了第一個參數。

既然你想找到的所有用戶的標準,你是 - {}

因此,這將解決您的問題 -

User.find({}, (err, users) => { 
    if (err) res.send(err); 

    res.json(users); 
    })