开玩笑-模拟需要事先配置的节点模块

时间:2020-06-23 18:27:09

标签: reactjs unit-testing jestjs contentful

我正在React应用中使用Contentful SDK,该应用需要配置身份验证。

我有一个contentfulConfig.js文件,如下所示:

import { createClient } from 'contentful';

export default createClient({
    space: SPACE_ID,
    accessToken: ACCESS_TOKEN,
})

然后我将配置的实例导入其他文件,并使用它公开的不同API方法,如下所示:

import contentful from './contentfulConfig';

...

contentful.getEntries(...).then(...)

为了测试通过上述操作获取数据的某些组件,我想模拟其中一些API方法的结果,例如getEntries

(我的模拟需求非常简单:我只想模拟这些方法的分辨率/拒绝值)。

我已经根据文档和教程尝试了不同的解决方案排列,但是有两件事让我震惊:

  1. 我要模拟的方法仅在配置库后才公开

  2. contentful似乎是Node.js模块,因此在某些解决方案中我收到“无法获取模拟元数据”错误

解决这个问题的一种干净简单的方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以尝试类似

npx react-native init AwesomeProject

这将允许您模拟要在库中测试的所有功能