我对存根路由中间件有问题。在我的应用程序中,我有使用快速路由的nodejs express应用程序:
class App{
constructor(){
this.app = express();
...
...
this.app.use('/api/user', userRouting);
}
}
export default App;
此userRouting使用我要订阅的中间件。
在我的测试目录中,我有以下文件:
没有brandRouting文件,一切都很好。
userRouting.js文件:
describe('user routing test', () => {
before(()=>{
sinon.stub(tokenService, 'verifyToken').callsFake(function(req, res, next) {
return next();
});
App = require('../../src/app');
server = new App.default().app.listen(3000);
after(()=>{
sinon.restore();
server.close();
});
it('should create user', (done)=> {
sinon.stub(userController, 'createUser').resolves('user created');
chai.request(server)
.post('/api/user')
.end((err, res) => {
expect(res.text).to.be.equal('user created');
done();
});
});
});
当我将测试包含在brandRouting.js中时,出现问题。它会在用户测试之前运行,并且userRouting中的中间件存根无法正常工作。
describe('brand routing test', () => {
before(()=>{
App = require('../../src/app');
server = new App.default().app.listen(3000);
after(()=>{
sinon.restore();
server.close();
});
});