单元测试中的AsyncStorage,以玩笑为母语

问题描述 投票:0回答:1

我正在学习React本机和Jest测试。

我有一段代码,当单击按钮时,我将一些值存储在AsyncStorage中。当单击按钮时,我调用以下方法。

saveState = () => {
    AsyncStorage.setItem('saveState', 'button clicked');

  }

现在,我想对上述方法进行单元测试,以查看我的异步存储是否工作正常。我能够创建快照并测试该方法的其余功能,但不能测试这一功能。但是,我不太熟悉该怎么做?

请需要紧急帮助。

react-native unit-testing enzyme jest
1个回答
0
投票

在测试文件中,您可以模拟任何外部模块,然后检查是否已使用正确的参数调用了该模块,如下所示:

jest.mock('@react-native-community/async-storage', () => ({
  setItem: jest.fn(),
}));

// in your test:
expect(AsyncStorage.setItem).toBeCalledWith('saveState', 'button clicked');

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.