如何将业务逻辑与Web框架分开进行测试?

时间:2015-02-26 11:33:36

标签: javascript node.js unit-testing testing web

为了测试Web应用程序,许多来源建议尽可能使您的业务逻辑免于Web框架,以便无需使用Web框架即可进行测试。怎么办呢?

如果我有一个注册页面,我需要验证HTTP POST数据(例如确保出生日期是一个日期和必填字段),然后我需要将经过验证的数据保存到数据库中。我不确定如何将与Web框架相关的部分与业务逻辑分开,因为它是一个非常简单的功能。同样适用于登录页面,帐户删除页面等。

我认为除了将HTTP数据传递给业务逻辑函数之外,Web框架不会做太多工作,然后业务逻辑函数会在重构之前完成Web框架功能所做的一切(验证,持久性)。所以我看不出我的收获。例如,它将成为

businessLogicRegister(
    request.data['email'],
    request.data['birthday'],
    request.data['username']
);

有人可以提供一些示例,说明注册/登录等基本功能在基本的Node JS框架(如Express或Koa)中的效果,以及将业务逻辑与Web框架分离的好方法吗?以及如何使代码更易于单元测试?

0 个答案:

没有答案