Node.js Node express应用程序-结构化单元/集成测试
我正在尝试为我的nodejs/express应用程序设置测试套件 我有一个类似于示例的结构,其中有一个应用程序文件夹,其中包括模型、视图和控制器文件夹 我的测试目录当前被拆分为Node.js Node express应用程序-结构化单元/集成测试,node.js,express,tdd,mocha.js,Node.js,Express,Tdd,Mocha.js,我正在尝试为我的nodejs/express应用程序设置测试套件 我有一个类似于示例的结构,其中有一个应用程序文件夹,其中包括模型、视图和控制器文件夹 我的测试目录当前被拆分为 单位 整合 在单元内部,我模仿应用程序的文件夹结构。 我有关于我的模式的单元测试等等。。。将其保存到测试mongodb实例 我的问题是,我应该对我的控制器进行单元测试,还是应该将其保存以进行集成测试 我的“控制器”看起来像: controllers/account.js exports.login = functio
- 单位
- 整合
exports.login = function(req, res) {
res.render('account/login', {
title: 'Log In'
});
};
exports.login_post = function(req, res, next) {
passport.authenticate('local', function(err, user, info) {
if (err) {
return next(err);
}
if (!user) {
return res.redirect('/account/login');
}
req.logIn(user, function(err) {
if (err) {
return next(err);
}
return res.redirect('/');
});
})(req, res, next);
};
最好是在整个堆栈中使用supertest,或者通过“单元”测试login\u post(例如)来测试此功能?我将保留此功能用于集成测试。我还将使用诸如或之类的工具。我的经验告诉我,最好测试实际呈现的html,但遵循特定的用户交互流。这种方法当然存在问题。在我的例子中,我必须经常更改标记。这当然打破了所有的测试