测试工具中的笑话模拟

时间:2018-11-15 10:42:13

标签: reactjs mocking jestjs

我正在使用__mocks__文件夹来模拟node_module。真好 模拟之一的示例,该模拟“ relay-relay”:https://gist.github.com/robrichard/ad838e599d828a89978f54faaa2070a8

文件位于__mocks__/relay-react.js的位置, 在测试文件中执行jest.mock('react-relay)时在我的测试中使用的模拟。

但是,我有很多需要相同模拟的仓库。是否可以将模拟放到node_module中,以便简化我的测试,而不必到处复制/粘贴该模拟?

1 个答案:

答案 0 :(得分:0)

这是迄今为止最好的解决方案(如此处所述:https://github.com/facebook/jest/issues/2726#issuecomment-283100333):

testutils.js

import React, { Component } from 'react';

exports.mockRelay = {
   createFragmentContainer: Component => props => <Component {...props} />,
   ...
   // all the named imports you want to mock
};

然后在测试文件调用中

jest.mock('react-relay', () => require('util/testutils').mockRelay)