错误运行测试文件时无法读取未定义的属性“getRandomBase64”

Gan*_*tan 2 jestjs react-native

我尝试使用包 uuid 并响应本机获取随机值来创建随机 uuid。一切都很好,工作正常。但是,当我尝试使用 jest 运行我的测试文件时,出现错误无法读取未定义的属性“getRandomBase64”。如何解决这个错误?

谢谢。

在此处输入图片说明

mar*_*tom 5

react-native-get-random-values是一个原生模块,所以你需要在运行单元测试时模拟它。

一种方法如下:转到您的__mocks__文件夹(如果它不存在,则在项目的根目录中创建它)并放置一个名为react-native-get-random-values.js(名称很重要)的文件,其内容如下:

export default {
  getRandomBase64: jest.fn().mockImplementation(() => {
    console.log("getRandomBase64 mock called");
    return "mockedBase64";
  })
};
Run Code Online (Sandbox Code Playgroud)

要了解有关模拟整个模块的更多信息,请阅读Jest 文档