[英]Typescript import module.exports sub function
我正在使用 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
如何使上述函數執行?
您導出的內容與導入的內容不匹配。 問題是(可能)出口。 你有的是這個:
module.exports = (instance) => {
instance.validate = async (ctx) => {
// some code here
}
}
這會導出一個函數,該函數在調用時會將validate
方法添加到您傳遞給它的對象中。 它不與導出對象validate
方法,即是這樣的:
module.exports = {
validate: async (ctx) => {
// some code here
},
};
因此,您需要修復導出(我懷疑是問題所在),或者(如果導出真的要這樣做),通過傳入一個對象然后檢查它實際執行的操作,然后在調用后檢查對象有一個validate
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.