1

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

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

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

我一直在使用 supertest(superagent)、zombie 和 request for testing,每一种都取得了不同程度的成功。我目前正在努力将会话数据注入请求中,无论它最终采用哪种形式。

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

4

1 回答 1

1

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

使用这种方法,您无需直接测试客户端代码,而是在您的注入中间件中隔离注入。

于 2013-03-07T16:40:33.137 回答