测试快速控制器哪里可以访问猫鼬模型?

时间:2018-01-18 17:55:31

标签: node.js unit-testing express testing mongoose

我想独立测试我的快速控制器。但它们与猫鼬模型相互作用。所以问题是如何测试它们?例如 -

const Model = require('./../models/mymodels');

const controller = (req, res) => {
const body = req.body;
const foo = new Model(body);
foo.save().then(foo => res.send(foo)).catch(err => res.send(error));
};

所以我想独立测试功能controller

1 个答案:

答案 0 :(得分:1)

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

const Model = require('./../models/mymodels');

describe('controller test', function() {
  it('should be valid if body is correct', function(done) {
    const testBody = {myKey: "myVal"}
    const m = new Model(testBody);

    m.validate(function(err) {
      expect(err.errors).to.not.exist;
      done();
    });
  });
});

这是一个例子,请查看chai文档以获取更多示例