Sails JS 1.0助手进行单元测试

4

我正在尝试在我的SailsJS 1.0应用程序中设置单元测试。 我想要模拟数据库并且不需要运行sails lift来进行测试。

我有一个非常简单的actions2(node machine)帮助程序,它查询数据库:

fn: async function (inputs, exits) {
  Users.findOne({id: inputs.userId})
    .exec((err, data) => {
      if (err) {
        return exits.error(err);
      }

      if (!data) {
        return exits.success([]);
      }

      return exits.success(data);
    });
}

我正在使用mocha作为我的测试框架。如何mock用户?


你在这方面有任何成功吗?我仍在寻找相同的内容,但还没有找到可靠的参考或来源! - imsheth
1个回答

0

你可以使用sinon来为你的模型函数创建存根。

const sinon = require('sinon');

it('should something', async () => {
  const sandbox = createSandbox();
  const User = require('/path/to/User');
  sandbox.stub(User, 'findOne')
    .returns({
      exec: (callback) => {
        callback(null, { data: 'you want returned' })
      }
    })
  sandbox.restore();   // restores User.findOne to its original functionality so that other tests will not be contaminated
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接