簡體   English   中英

使用mongoose查詢測試表達路由

[英]Testing express routes with mongoose query

我正在嘗試測試有mongoose查詢的路由。我一直在回復:

AssertionError: expected undefined to equal true

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

該路由返回User模型中的所有條目

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);
  })
});

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

由於您要查找所有用戶,因此您的標准是 - {}

所以這將解決你的問題 -

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

    res.json(users);
  })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM