[Unit testing Express] Test Express route
server.js:
import itemRouter from './resources/item/item.router'
export const app = express()
app.use('/api/item', itemRouter)
item.router.js
import { Router } from 'express'
const router = Router()
const mockController = (req, res) => {
res.json({ message: 'ok' })
}
// /api/item
router
.route('/')
.get(mockController)
.post(mockController)
// /api/item/:id
router
.route('/:id')
.get(mockController)
.put(mockController)
.delete(mockController)
export default router
test:
import router from '../item.router'
describe('item router', () => {
test('has crud routes', () => {
const routes = [
{ path: '/', method: 'get' },
{ path: '/:id', method: 'get' },
{ path: '/:id', method: 'delete' },
{ path: '/:id', method: 'put' },
{ path: '/', method: 'post' }
]
routes.forEach(route => {
const match = router.stack.find(
s => s.route.path === route.path && s.route.methods[route.method]
)
expect(match).toBeTruthy()
})
})
})
分类:
Node.js
, Unit Testing
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2020-08-22 [Machine Learning] Polynomial Regression
2020-08-22 [Machine Learning] Gradient Descent in Practice I - Feature Scaling
2020-08-22 [Machine Learning] Gradient Descent For Multiple Variables
2019-08-22 [Angular] Lazy Load CSS at runtime with the Angular CLI
2018-08-22 [Java Spring] Spring Annotation Configuration Using XML
2018-08-22 [Jest] Automate your migration to Jest using codemods
2017-08-22 [D3] Reuse Transitions in D3 v4