sails js unit testing

时间:2015-07-01 08:19:37

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

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

我正在使用grunt用mocha测试我的应用程序。现在我需要一种方法来覆盖一些用于测试的sails方法(查找,更新等),因为我不想在测试代码时与数据库进行交互。有没有办法覆盖sails js方法。作为我在测试中使用User.find方法的一个例子,我希望有一个特定的结果来测试我的其他方法是否完美。任何形式的帮助都会得到满足。

1 个答案:

答案 0 :(得分:3)

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

以下是文件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和db database_test。配置它以满足您的需求。