是否有一个模块可以轻松模拟req/res对象,以便对连接样式处理程序进行单元测试?

Mig*_*uet 6 unit-testing mocking node.js express flatiron.js

我正在node.js中编写一个应用程序,其中包含一些连接样式端点处理程序(函数(req,resp)),并且希望针对它们编写一些单元测试,而不需要运行完整的应用程序.

我知道我可以"简单地"推送我手动写入的任何夹具,但我想知道是否有任何库可以帮助我更快地生成这些夹具.

编辑:为了进一步解释我想要的东西,我想在我的单元测试中只执行我的处理程序(不是我的应用程序),为此,我需要一个假的req和res.那些是我想嘲笑的两个对象.

我目前正在使用mocha作为测试运行器和核心断言模块.

top*_*pek 2

app如果您以传递给函数的方式定义路线,那么您可以使用supertest来测试路线。

测试

var app = require('./real-or-fixture-app'); //depends on your setup

require('routeToTest')(app);

var request = require("supertest");

describe("Test", function(){
    it("should test a route", function(done){
        request(app)
            .post("/route")
            .send({data:1})
            .expect(200, done);
    });
});
Run Code Online (Sandbox Code Playgroud)

路线定义

module.exports = function(app){
    app.get("/route", ....
};
Run Code Online (Sandbox Code Playgroud)

我不太确定这是否真的是您正在寻找的,但这是一种单独测试路线的方法。