2013-03-07 49 views
1

我正在为express.js 2.5.8编写一些中间件。目的是使用基于会话的附加属性来修改请求对象。我有单元测试了中间件功能。现在,我想进行一些低级别的集成测试,以确认中间件正在被快速服务器使用。Express.js中间件集成测试

我的典型做法是监视中间件功能。但是,这并不是证明中间件按预期工作的最有效方式。

我想做什么(如果可能/可行)是加载应用程序,注入任意会话数据(它不需要有效),请求/访问发送中间件结果的测试路径。从那里,我可以对这个结果作出断言。

我一直在使用supertest(superagent),僵尸,并要求测试,每个都有不同程度的成功。我目前所面临的困难是将会话数据注入请求中,无论采用哪种形式。

我将不胜感激一些指导。人们在测试此类行为时使用了哪些方法?

回答

1

通过假设表达中间件处理没有中断:为什么不尝试编写一个注入中间件,负责注入所需的会话数据并将注入中间件放在要测试的中间件功能之前?

使用此方法,您不会直接测试客户端代码,但会将注入隔离在注入中间件中。