Javascript 如何为一个函数在另一个函数中编写测试用例?

Javascript 如何为一个函数在另一个函数中编写测试用例?,javascript,ecmascript-6,jestjs,mean,Javascript,Ecmascript 6,Jestjs,Mean,我有一个js文件(index.js),如下所示 function index() { sum(a,b) { return a+b; }; test() { --- --- } }; 在我的test.js文件中(使用jest) 这是投掷错误 TypeError:index.sum不是一个函数一个好的做法是:拆分函数,不要嵌套函数,这样它就可以访问和重用 如果您试图创建类或导出特定函数,则- 你可以在这里阅读js中的类- 您可以在

我有一个js文件(index.js),如下所示

  function index() {
   sum(a,b) {
      return a+b;
   };

   test() {
     ---
     ---
   }

  };
在我的test.js文件中(使用jest)

这是投掷错误
TypeError:index.sum不是一个函数

一个好的做法是:拆分函数,不要嵌套函数,这样它就可以访问和重用

如果您试图创建类或导出特定函数,则-

你可以在这里阅读js中的类-

您可以在此处阅读有关按要求导出的内容-

如果
sum()
index()
中定义了
sum()
,则可能会解决您的问题(只要sum暴露在外部范围内)

,它是
index()
实现的一部分,而不是单独的可测试单元。您应该测试
索引的结果是否正确。如果
sum
应该是一个单独的、可测试的,则它应该在
index()
之外可用——可以在
index
之外定义,也可以从
index
返回。
  const index = require('./index');
  console.log(index)
  test('adds 1 + 2 to equal 3', () => {
     expect(index.sum(1, 2)).toBe(3);
  });
module.exports.sum = sum;