我是開玩笑的新手。我有一個函式可以驗證屬性的長度。如果超出長度,則函式回傳帶有400狀態碼的回應。
配置.js
module.exports = {
maxLength: 50
}
控制器.js
const {
maxLength
} = require("../config")
const sendMessage = (req, res) => {
const {
message
} = req.body
if (message.length > maxLength) {
{
res.status(400).send()
}
}
我想在撰寫單元時模擬maxLengthto的值。2這樣我就可以在不傳遞太多訊息的情況下進行檢查。
我嘗試了以下方法。
Controller.test.js
const config = require("../config")
confif.maxLimit=jest.fn()
describe('Cntroller.sendMessage', () => {
it("should return 400 if the message length exceed", async () => {
config.maxLength = 2;
req.body = {
message: "hello I am new message"
}
await sendMessage(req, res)
expect(res.statusCode).toBe(400)
)
)
這里我嘗試模擬to的值,maxLength訊息2長度為23,所以回應狀態碼為400,但測驗失敗。
Expected(400)
Recieved(200)
如何模擬 的價值maxLength?
提前致謝!
uj5u.com熱心網友回復:
這將模擬maxLength不同的值:
jest.mock("../config", () => ({
maxLength: 2
}))
由于這maxLength不是一個函式,我不確定如何將模擬值更改為針對不同的測驗具有不同的值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/532519.html
