【发布时间】:2019-02-14 09:20:42
【问题描述】:
我有一个具有以下依赖关系的 React 组件:
import { fetchUsers } from '../../api/';
这是一个返回 Promise 的实用函数。
在尝试使用 Jest 模拟此操作时,我无法在 describe() 内的每个测试基础上执行此操作。
我能够模拟fetchUsers 的唯一方法是在整个测试套件的文件顶部使用jest.mock()。
import x from './x'
jest.mock('../../../../src/api/', () => ({
fetchUsers: jest.fn(() => Promise.resolve({ users: [] })),
}));
这不适合,因为我需要在不同的测试中测试 .then() (Promise.resolve) 和 .catch (Promise.reject)。有了上面,我只能测试.then()
有谁知道如何使用 Jest 模拟 React 组件的依赖项,该依赖项会在每个测试的基础上返回一个承诺?
谢谢
【问题讨论】:
标签: javascript reactjs mocha.js jestjs create-react-app