node.js - 风 sails JS 单元测试

标签 node.js unit-testing sails.js mocha.js

我创建了一个 sails js 应用程序。我想为我的应用程序添加单元测试。我正在使用以下方法进行单元测试。 http://sailsjs-documentation.readthedocs.org/en/latest/concepts/Testing/

我正在使用 grunt 通过 mocha 测试我的应用程序。现在我需要一种方法来覆盖一些 sails 方法(查找、更新等)以用于我的测试,因为我不想在测试代码时与数据库交互。有没有办法覆盖 sails js 方法。例如,当我在测试中使用 User.find 方法时,我想要一个特定的结果来测试我的其他方法是否完美运行。我们将不胜感激。

最佳答案

如果您想在不接触生产数据库的情况下进行测试,您可以使用数据库的不同表/集合。这是集成测试中的常用方法(不使用模拟)。

这是示例,在文件 bootstrap.test.js

var Sails = require('sails'),
    sails;

before(function (done) {
  Sails.lift({
    connections: {
      mongodbServer: {
        database: 'database_test'
      }
    },
    models     : {
      migrate: 'drop'
    }
  }, function (err, server) {
    sails = server;
    if (err) return done(err);

    done();
  });
});

after(function (done) {
  // here you can clear fixtures, etc.
  sails.lower(done);
});

假定您的连接使用 mongodbServer 和数据库 database_test。配置它以满足您的需求。

关于node.js - 风 sails JS 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31156076/

相关文章:

javascript - 如何在嵌套子文档mongodb中查找带有数组的字段?

javascript - 从 MongoDB 返回和应用值有困难

android - 如何在 Android 单元测试中访问资源?

javascript - Angular 7 : ngOnInit() of the a component is getting called every time running unit test case of that component

javascript - 在 AngularJS 单元测试中断言递归 $timeout 中的 http 调用次数

javascript - Ember JS 和迭代而不影响结果计数

node.js - ldap查询获取组node.js中的所有用户

Node.js mongodb 通过 ObjectID 更新

node.js - 将 Jest 与 Sails.js 一起使用时出现解析错误

sails.js - Bluebird Promise 每个在 mocha/chai 测试中不起作用