Javascript 测试失败-ProductService不是构造函数
我使用的是Javascript 测试失败-ProductService不是构造函数,javascript,node.js,mocha.js,chai,Javascript,Node.js,Mocha.js,Chai,我使用的是“chai”:“^4.2.0”、和“摩卡”:“^4.0.1”。我正在运行节点--version,v10.15.3我的目标是测试服务层: 我的ProductService.js如下所示: class ProductService { constructor() { // constructor } async createOrUpdateProduct(dataArray) { return "done" } } mo
“chai”:“^4.2.0”、
和“摩卡”:“^4.0.1”
。我正在运行节点--version
,v10.15.3
我的目标是测试服务层:
我的ProductService.js
如下所示:
class ProductService {
constructor() {
// constructor
}
async createOrUpdateProduct(dataArray) {
return "done"
}
}
module.exports = {
ProductService
};
const assert = require('chai').assert;
const ProductService = require('../Service/ProductService')
describe('Product model', () => {
it('should add the test data with the Products Service to the Product table', async () => {
let dataArr = "product data"
let productServ = new ProductService()
const res = await productServ.createOrUpdateProduct(dataArr)
assert.isOk(res.length, dataArr.length);
});
});
我的测试类ProductTestService.js
如下所示:
class ProductService {
constructor() {
// constructor
}
async createOrUpdateProduct(dataArray) {
return "done"
}
}
module.exports = {
ProductService
};
const assert = require('chai').assert;
const ProductService = require('../Service/ProductService')
describe('Product model', () => {
it('should add the test data with the Products Service to the Product table', async () => {
let dataArr = "product data"
let productServ = new ProductService()
const res = await productServ.createOrUpdateProduct(dataArr)
assert.isOk(res.length, dataArr.length);
});
});
运行测试时,我得到:
有什么建议说明实例化为什么不起作用吗
谢谢你的回复 代码
module.exports={
产品服务
};
是的缩写
module.exports={
ProductService:ProductService
};
这意味着,当您使用
const ProductService=require('../Service/ProductService');
ProductService
的值正是您导出的值,即具有属性ProductService的对象
{
ProductService:ProductService
}
若要解决您的问题,请直接导出类(如果它是您希望从模块导出的唯一内容)
module.exports=ProductService;
或者,如果您还想导出其他内容,请使用对象分解进行导入
const{ProductService}=require('../Service/ProductService');
代码
module.exports={
产品服务
};
是的缩写
module.exports={
ProductService:ProductService
};
这意味着,当您使用
const ProductService=require('../Service/ProductService');
ProductService
的值正是您导出的值,即具有属性ProductService的对象
{
ProductService:ProductService
}
若要解决您的问题,请直接导出类(如果它是您希望从模块导出的唯一内容)
module.exports=ProductService;
或者,如果您还想导出其他内容,请使用对象分解进行导入
const{ProductService}=require('../Service/ProductService');