私はNode.jsを学び、Expressで遊んでいます。フレームワークが本当に好きですが、ルートの単体/統合テストを書く方法を理解するのが難しいです。1台のユニットがExpressでルートをテストする方法は?
単純なモジュールを単体テストできることは簡単で、Mochaで実行しています。しかし、私が渡している応答オブジェクトは値を保持していないので、Expressでの単体テストは失敗します。テスト(ルート/ index.js)の下で
ルート機能:
exports.index = function(req, res){
res.render('index', { title: 'Express' })
};
ユニットテストモジュール:私はこれを実行すると
var should = require("should")
, routes = require("../routes");
var request = {};
var response = {
viewName: ""
, data : {}
, render: function(view, viewData) {
viewName = view;
data = viewData;
}
};
describe("Routing", function(){
describe("Default Route", function(){
it("should provide the a title and the index view name", function(){
routes.index(request, response);
response.viewName.should.equal("index");
});
});
});
、それは「エラーのため失敗します。グローバルリークが検出されました:viewName、data "
ここで私はこの作業を行うことができますか?
私のコードをこのレベルで単体テストするには良い方法がありますか?私が最初に忘れてしまったので、
更新 1.修正したコードスニペット "それを()"。
ありがとうございました。それが何か簡単だと分かっていました。 – JamesEggers