React + Jest测试方法:模拟与功能?

时间:2018-06-13 18:16:59

标签: reactjs unit-testing jestjs

我有一个React应用程序可以执行大量的API调用,并且我正在为它们编写单元测试。

class App extends Component {
  componentDidMount: () => axios.get('api/data', this.doSomething)
  ...
}

现在我想用模拟的API编写单元测试。我知道可以使用jest模拟API。是否有充分的理由不选择以下更多功能模式:

getApp = api => {
  class App extends Component {
    componentDidMount: api.get('api/data', doSomething)
    ...
  return App
}

然后我的常规应用使用getApp(axios),我的测试应用使用getApp(mockAxios)

我正在努力解决这个问题,因为我觉得Jest中的模拟需要牺牲代码质量。我需要模拟的不仅仅是API,并且经常最终将小功能放入微小的模块中,这样我就可以模拟出模块了。在没有模拟的情况下,我已将该功能保存在更大,更有机的模块中。

0 个答案:

没有答案