【发布时间】:2018-08-26 00:28:38
【问题描述】:
我有一个实用程序文件,其中包含许多导出以及默认导出。命名和导出默认值都在同一个组件中使用。我无法确定如何针对同一测试中的命名组件和默认组件编写测试。
下面的代码以简化的方式说明了应用程序。
utils.js
export const mock1svc = () => {
return true;
};
const mock2svc = () => {
return true;
};
export default mock2svc;
comp.js(仅供参考,应用渲染良好)
import Utils, { mock1svc } from 'utils';
...
render (
<p>{mock1svc()}</p>
<p>{Utils()}</p>
)
comp-test.js
我可以测试默认导出:
jest.mock('../mock-utils', () => jest.fn());
产生错误:
TypeError: (0 , _mockUtils.mock1svc) 不是函数
或测试命名导出:
jest.mock('../mock-utils', () => ({
mock1svc: jest.fn(),
mock2svc: jest.fn(),
}));
产生错误:
TypeError: (0 , _mockUtils.default) 不是函数
【问题讨论】: