2

我有一个 express-sequelize 应用程序,它使用 nodeunit 来测试路由,为此我使用了精彩的 nodeunit-express 模块。

一切正常,除了创建数据库。在我的快速应用程序中,我在开始时执行了 sequelize.sync({force: true})。当我运行时,我的测试确实有效

npm 启动(节点 server.js)

首先,其次是

npm 测试(节点单元测试)

但是当数据库不存在并且我运行时

npm 测试(节点单元测试)

单独,未创建错误。

我应该在 nodeunit 测试过程中的哪个位置放置同步续集以使其可用于我的测试?

var request = require('nodeunit-express');
var server = require('../server');
var models = require('../models');
var express = request(server.app);

exports["Rest interfaces"] = {
    setUp: function (callback) {
        //insert some stuff in the database?
        callback();
    },
    tearDown: function (callback) {
        callback();
        //cleanup();
    },
    "/api/categories": function (test) {
      express.get('/api/categories').expect(function (response) {
          // response is the response from hitting '/'
          var result = JSON.parse(response.body);
          test.equal(response.statusCode, 200, '/api/categories is not available');
          test.equal(result.length, 0, 'no categories should be returned');
          test.done();
      });
  }
};
function cleanup() {
    //wait a little
    setTimeout(function () {
        express.close();
    }, 500);
}
4

0 回答 0