节点expressiones6中文正文中间件不工作

我正在写我的快递路由器的摩卡unit testing。 然而,我发现,尽pipe我试图存储中间件,但它仍然执行中间件代码。 这里是我的路由器和testing,有谁能弄清楚?

路由器:

import { aMiddleware, bMiddleware, cMiddleware } from '../middleware.js'; router.post('/url', aMiddleware, bMiddleware, cMiddleware, function(req, res) { ... } 

中间件:

 AuthMiddleware.aMiddleware = async (req, res, next) => { console.log('in real middleware'); next(); } 

testing:

 var authMiddleware = require('../../middleware/auth.js'); describe('Test', async () => { before(function (done) { _STUB_MIDDLEWARE_A = sinon.stub(authMiddleware, 'aMiddleware'); _STUB_MIDDLEWARE_A.callsArg(2); } after(function (done) { _STUB_MIDDLEWARE_A.restore(); } } 

terminal将在中间件中显示console.log('in real middleware')

这可能是因为存根已经在模块加载之后发生了。 您可能需要首先清除caching中的caching,然后在保存后再将其加载,因为es6会caching导入的模块。