栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

是否可以通过带有“伪造”请求的代码直接调用Express Router?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

是否可以通过带有“伪造”请求的代码直接调用Express Router?

路由器具有名为“私有”方法的名称

handle
,该方法接受请求,响应和回调。您可以看一下Express对其Router进行的测试。一个例子是:

it('should support .use of other routers', function(done){    var router = new Router();    var another = new Router();    another.get('/bar', function(req, res){      res.end();    });    router.use('/foo', another);    router.handle({ url: '/foo/bar', method: 'GET' }, { end: done });  });

Express团队使用SuperTest在路由器上执行集成测试。据我了解,SuperTest仍在使用网络,但它们会为您处理所有这些,因此其行为就像测试全部在内存中一样。SuperTest似乎确实被广泛使用,并且是一种可接受的测试路线的方法。

顺便说一句,您没有说您要测试的内容,但是如果您的目标是测试某些路由,那么SuperTest的替代方法可能是将路由中的逻辑提取到一个单独的模块中,该模块可以独立于Express进行测试。

更改:

routes|-- index.js

至:

routes|-- index.js|controllers|-- myCustomController.js

然后,测试可以简单地针对

myCustomController.js
并注入任何必要的依赖项。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/446431.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号