我正在尝试对快速路线进行单元测试,如下所示:
var app = express();
app.get('/',indexController.Index);
在我的单元测试中,我使用的代码如下:
const indexController = {};
indexController.Index = sinon.stub();
const server = proxyquire('../server.js', { './controllers/indexController': indexController });
describe('GET /', () => {
it('index controller should be called', (done) => {
request(server)
.get('/')
.expect(200)
.end((err, res) => {
if (err) {
return done(err);
}
sinon.assert.called(indexController.Index);
return done();
});
});
});
你可以看到我想要做的是将控制器存根。但这似乎不起作用(原始控制器似乎被调用而不是存根)。我无法弄清楚原因。 (在控制器和模型上进行单元测试时,同样的方法也有效。)
有人可以解释为什么这不起作用。以及测试这些路由器的任何替代方法。