我正在使用 mocha 測驗一個函式,但在運行測驗檔案時遇到錯誤。
檔案結構如下
server
|-test
| |-customer.test.ts
|-customer.js
這是customer.js檔案功能
module.exports = (instance) => {
instance.validate = async (ctx) => {
// some code here
}
}
這是 mocha 測驗用例檔案 customer.test.ts
const instance = require("../customer")
/* eslint-disable no-undef */
describe('customer', () => {
describe('/POST customers', () => {
it('Create Buy customer', (done) => {
instance.validate({
})
done();
});
})
});
但是當我使用命令運行檔案時,mocha .\customer.test.ts它顯示了以下錯誤
TypeError: instance.validate is not a function
如何使上述函式執行?
uj5u.com熱心網友回復:
您匯出的內容與匯入的內容不匹配。問題是(可能)出口。你有的是這個:
module.exports = (instance) => {
instance.validate = async (ctx) => {
// some code here
}
}
這會匯出一個函式,該函式在呼叫時會向您傳遞給它的物件添加一個validate方法。它不是一個匯出物件validate的方法,這將是這樣的:
module.exports = {
validate: async (ctx) => {
// some code here
},
};
因此,您需要修復匯出(我懷疑是問題所在),或者(如果匯出確實要這樣做),通過傳入一個物件然后檢查它實際執行的操作,然后在呼叫后檢查物件有一個validate方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/327515.html
