Javascript Node.js使用mocha的单元测试用例
我有一个Javascript Node.js使用mocha的单元测试用例,javascript,node.js,mocha.js,chai,node-modules,Javascript,Node.js,Mocha.js,Chai,Node Modules,我有一个myfunctions.js文件,其中包含函数 function lineObject(year, arrest, primary_Type, Description){ this.year = year; this.arrest = arrest; this.primary_Type = primary_Type; this.Description = Description; } module.exports={ lineObj : lineObject()
myfunctions.js
文件,其中包含函数
function lineObject(year, arrest, primary_Type, Description){
this.year = year;
this.arrest = arrest;
this.primary_Type = primary_Type;
this.Description = Description;
}
module.exports={
lineObj : lineObject()
};
我的测试用例有点像bellow
var chai = require('chai');
var expect = chai.expect;
const myfunction = require("../myfunctions");
const lineObject = myfunction.lineObj;
describe("Test suit", function(err) {
it("Test the fulsh option", function() {
var retobj= lineObject('2017','yes','yes','tes');
expect(retobj).to.have.property('year');
});
});
但是当我运行测试时,它抛出一个错误TypeError:lineObject不是一个函数
请提供任何建议您没有正确导出
lineObj
函数,而是调用它并将结果(未定义的属性)分配给lineObj
属性
您可以通过分配函数本身来修复
module.exports = {
lineObj: lineObject
}
进一步查看您的代码,您似乎希望lineObj()
能够为您提供一些基于当前实现不会提供的东西。你需要实际返回一些东西才能使其工作
function lineObject() {
return {
...
};
}
根据导出的方式,您可以通过返回此
,它将为您返回导出的对象提供一个引用(通用链接模式)…但我怀疑这是否真的是您想要做的。您是否使用myfunctions.js中的模块。导出
来导出模块?我已经更新了帖子。。我正在使用modile.export
您没有导出函数。您正在导出调用lineObject()
的结果,它是未定义的
。这只是一个打字错误。请删除您的问题,因为仅由打字错误引起的问题将被关闭和删除。