我有一个具有内部函数的函数,对于我的单元测试,我只想测试内部函数的功能,但是当我导出该函数并调用内部函数时,npm测试会返回错误。

在我的main.js中:

mainFunction = () => {
  functionToBeTested = () => {
    // some code
  }
}

module.exports = {mainFunction: mainFunction}

在我的test.js
const chai    = require("chai");
const assert  = require("chai").assert;
const mainFunction = require("./main");

describe ("test", () => {
 it("returns results", () => {
  let result = mainfunction.functionToBeTested(args);
  //equal code
  });
})

但是当我运行npm test时,它说:



我究竟做错了什么?

最佳答案

如果要链接函数,可以尝试类似的操作。

main.js

const mainFunction = () => {
  const functionToBeTested = () => {
    return "I got it";
  }
  return { functionToBeTested };
}

module.exports = { mainFunction };

test.js
const chai    = require("chai");
const assert  = require("chai").assert;
const mainFunction = require("./main");

const mf = mainFunction();

describe ("test", () => {
 it("returns results", () => {
  let result = mf.functionToBeTested(args);
    //equal code
  });
});

07-26 05:46