我有一个 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);
}