为了测试Web应用程序,许多来源建议尽可能使您的业务逻辑免于Web框架,以便无需使用Web框架即可进行测试。怎么办呢?
如果我有一个注册页面,我需要验证HTTP POST数据(例如确保出生日期是一个日期和必填字段),然后我需要将经过验证的数据保存到数据库中。我不确定如何将与Web框架相关的部分与业务逻辑分开,因为它是一个非常简单的功能。同样适用于登录页面,帐户删除页面等。
我认为除了将HTTP数据传递给业务逻辑函数之外,Web框架不会做太多工作,然后业务逻辑函数会在重构之前完成Web框架功能所做的一切(验证,持久性)。所以我看不出我的收获。例如,它将成为
businessLogicRegister(
request.data['email'],
request.data['birthday'],
request.data['username']
);
有人可以提供一些示例,说明注册/登录等基本功能在基本的Node JS框架(如Express或Koa)中的效果,以及将业务逻辑与Web框架分离的好方法吗?以及如何使代码更易于单元测试?