首页 > 解决方案 > 用笑话问题测试 ES6 类方法

问题描述

我的课 -

class Course{
  public getFormattedTime(){
    // logic to parse time and return in appropriate format
    // return string
  }
}

根据笑话文档https://jestjs.io/docs/en/es6-class-mocks#automatic-mockreplaces all of its methods with mock functions that always return undefined. 所以我的问题是,如果我们将所有方法返回值更改为未定义,那么还有什么要测试的呢?我不想测试这个方法被调用了多少次,我只想测试方法内部的实际逻辑。我在这里错过了什么吗

标签: javascripttypescripttestingjestjs

解决方案


测试的目标是仅测试您所针对的功能。如果该函数正在调用另一个函数,则应该模拟第二个函数。自动模拟只会创建一个假类,每个方法都将返回未定义。如果您希望您的方法为测试目的返回特定值,那么您应该看看手动模拟。https://jestjs.io/docs/en/es6-class-mocks#manual-mock


推荐阅读