Express.js ミドルウェアでの統合テストを通じて動作を促進したいと考えています。アプリケーションの背後にある Express の動作が予測できないという興味深い状況に遭遇しました (とにかく、私ではありません)。
簡単な例として:
var middlewareExample = function(req, res, next){
if(req.session){
refreshSession(req.session, function(err, data){
if(!err){
res.redirect('/error');
}
});
next();
}else{
res.redirect('/authenticate');
}
};
next
問題は、内部関数と条件の外側に存在するため、リダイレクトをたどる呼び出しです。Express がミドルウェア/ルート呼び出しをどのように処理するか、next
またはres.redirect
上記のようにそれらがたまたま前後に発生するかどうかはわかりません。
手動テストでは、異常な動作は明らかになりませんでした。また、スーパーテスト モジュールもありません。Expressがこのような状況にどのように対応するか、またどのように対応するかを知りたい. また、スーパーテストを使用して、潜在的な望ましくない動作を明らかにすることもできます。さらに、可能であれば、Node/Express ミドルウェア全般をテストするために他の人がどのようなアプローチを使用するかを聞きたいです。