如何使用 Jest React Native 通过测试库/react-native 模拟 RNEncryptedStorage

Hra*_*mar 1 jestjs react-native

我正在使用测试库/反应本机进行测试,但问题是

RNEncryptedStorage is undefined

      at Object.<anonymous> (node_modules/react-native-encrypted-storage/lib/commonjs/EncryptedStorage.ts:7:9)
      at Object.<anonymous> (node_modules/react-native-encrypted-storage/lib/commonjs/index.ts:1:1)
Run Code Online (Sandbox Code Playgroud)

代码 :-

test('Videos should render OK', async () => {
  const {getByText, getByTestId, getAllByTestId, queryByText} = render(
    <Videos />,
  );
Run Code Online (Sandbox Code Playgroud)

小智 5

解决方案从这里开始

__mocks__/react-native-encrypted-storage/index.js


const RNEncryptedStorage = {
  setItem: jest.fn(() => Promise.resolve()),
  getItem: jest.fn(() => Promise.resolve('{ "foo": 1 }')),
  removeItem: jest.fn(() => Promise.resolve()),
  clear: jest.fn(() => Promise.resolve()),
};

export default RNEncryptedStorage;
Run Code Online (Sandbox Code Playgroud)