测试"/>
“instanceof”的右侧不可调用超测试
我正在使用 jest 和 supertest 库进行 API 测试以进行集成测试,对于后端,我正在使用 Node.js 和 MongoDB 来创建/更新/删除/获取书籍集合。使用 get 请求的测试效果很好,但是当涉及到 post 或 put 请求时,我收到错误消息“'instanceof' 的右侧不可调用”。 这是我的代码:
控制器
const bookServices = require("../services/services.js")
const BookModel = require('../model/model.js')
const updateBook = async (req, res) => {
const {id} = req.params
if(!id) {
return res.status(404).json({message: "this book doesn't exist"})
}
const updatedObject = await bookServices.updateBook(id, req.body)
res.json(await bookServices.getBook(id))
}
module.exports = {updateBook}
服务
const BookModel = require('../model/model.js')
const updateBook = (id, data) => {
return BookModel.findByIdAndUpdate(id, data)
}
module.exports = { updateBook}
路线
const express = require("express")
const { updateBook} = require('../controller/bookController')
const routes = express.Router()
routes.put("/updateBook/:id", updateBook)
module.exports = routes
型号
const mongoose = require ("mongoose")
const {Schema, model} = mongoose
const BookSchema = new Schema(
{
title: {
type: String,
require: true
},
description: String,
price: {
type: Number,
default: 0
}
}, { collection : 'Book' })
const BookModel = model("Book", BookSchema )
module.exports = BookModel
测试文件
const server = require('./server.js')
const mongoose= require('./dataBaseConfig.js')
const request = require('supertest')
describe("update book" , () => {
it("should update the book's title", async ()=> {
const {id} = await bookServices.createBook({title: "Harry Potter"})
const res = await request(server).put(`/api/updateBook/${id}`)
.send({title: "the master and Margarita"})
expect(res.body).toMatchObject({title: "The master and Margarita"})
}
)
})
回答如下:
更多推荐
“instanceof”的右侧不可调用超测试
发布评论