javascript - 如何为另一个函数中的函数编写测试用例?

标签 javascript ecmascript-6 jestjs mean

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

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

   test() {
     ---
     ---
   }

  };

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

  const index = require('./index');
  console.log(index)
  test('adds 1 + 2 to equal 3', () => {
     expect(index.sum(1, 2)).toBe(3);
  });

它抛出错误 类型错误:index.sum 不是函数

最佳答案

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

如果您尝试创建类或导出特定函数,那么 -

您可以在这里阅读有关 js 中的类的信息 - https://developer.mozilla.org/he/docs/Web/JavaScript/Reference/Classes

您可以在此处阅读有关使用 require 导出的信息 - https://www.openmymind.net/2012/2/3/Node-Require-and-Exports/

module.exports.sum = sum;

应该可以解决您的问题(只要 sum 暴露在外部范围内)

关于javascript - 如何为另一个函数中的函数编写测试用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56127651/

相关文章:

javascript - let block 语句和等价的 with 语句有什么区别?

jestjs - Jest不能处理insertAdjacentElement吗?

javascript - const/let 与另一个 `<script type="模块">` block 未定义

javascript - React ES6,如何将装饰器保存在单独的文件中

reactjs - 如何监视 Jest 中的默认 prop 函数

node.js - 模拟 fs 失败,开 Jest : "no such file or directory, lstat" , 并且 mock_fs_1.default 不是函数

javascript - 正确处理 Angular 数据

javascript - AngularJS 的 ng-show 和 rootScope 问题

javascript - Google MailApp html 选项出现问题

javascript - 如何在动画/过渡中间暂停