私のWebアプリには次の構造があります
デシベル.js:
mongoose = require('mongoose');
db = mongoose.createConnection("...");
playerSchema = new mongoose.Schema({
// my schema stuff
});
exports.Player = db.model("player", playerSchema);
私はすべてのルートを独自のファイル (route/index.js) に持っています。
db = require('../db');
exports.createPlayer = function(req, res) {
player = new db.Player();
player.name = req.body.player_name;
player.save(function(err) {
if (err) {
log(err);
}
res.redirect("/");
});
};
app.js
routes = require('./routes');
app.post("/start", routes.createPlayer);
次の例のように、mocha、should、および supertest を使用してアプリをテストします
should = require('should');
supertest = require('supertest');
app = require('../app');
describe("POST /start", function() {
it("should redirect", function(done) {
supertest(app)
.post("/start")
.send({
player_name: "John Wayne"
}).end(function(err, res) {
should.not.exist(err);
done();
});
});
});
すべて正常に動作しますが、本番データベースに対してテストしたくありません。テストのためだけにダミー/別のデータベースを使用するスマートな方法を知っている人はいますか? もしかして別の環境を使っている?私はちょっと立ち往生しています!