节点快速应用程序 – 构造单元/集成testing

我试图为我的nodejs / express应用程序设置我的testing套件。

我有一个类似于这个例子的结构,我有一个应用程序文件夹,其中是模型,视图,控制器文件夹。

我有我的testing目录目前拆分为

  • 单元
  • 积分

在单元里面,我模仿了app的文件夹结构。 我有我的模式等unit testing…保存到一个testingMongoDB实例

我的问题是,我应该unit testing我的控制器,还是应该保存集成testing?

我的“控制器”看起来像:

控制器/ account.js

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); }; 

在整个堆栈中使用超类来testing,还是通过“单元”testinglogin_post来testing呢?

我会保留这个集成testing。 我也会去像Phantom或Dalekjs这样的工具。 我的经验告诉我,testing实际渲染的html比较好,但是遵循特定的用户交互stream程。 这种方法当然有问题。 在我的情况是,我不得不经常改变标记。 这当然会一直打破testing。