我正在为express.js 2.5.8编写一些中间件。目的是使用基于会话的附加属性修改请求对象。我有单元测试中间件功能。现在,我想执行一些较低级别的集成测试,以确认快速服务器正在使用中间件。
我的典型方法是窥探中间件功能。但是,这并不是证明中间件按预期工作的最有效方式。
我想做的(如果可能/可行)是加载应用程序,注入任意会话数据(它不需要有效),请求/访问发送中间件结果的测试路由。从那里,我可以对结果做出断言。
我一直在使用supertest(superagent),zombie和测试请求,每个都有不同程度的成功。我目前正在努力的是将会话数据注入到请求中,无论最终采取哪种形式。
我很感激一些指导。人们在测试这种行为时使用了哪些方法?
答案 0 :(得分:1)
假设快速中间件处理没有被破坏:为什么不尝试编写一个注入中间件,负责注入所需的会话数据,并将注入中间件放在您想要测试的中间件函数之前? / p>
使用这种方法,您不直接测试客户端代码,而是在注入中间件中隔离注入。