Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js使用mocha的单元测试用例_Javascript_Node.js_Mocha.js_Chai_Node Modules - Fatal编程技术网

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()
的结果,它是
未定义的
。这只是一个打字错误。请删除您的问题,因为仅由打字错误引起的问题将被关闭和删除。