如何从本机模拟PermissionAndroid

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

我正在使用React-native构建一个Android应用,并从react-native使用PermissionsAndroid获得用户许可。

import {PermissionsAndroid} from 'react-native'

现在,我正在编写单元测试,我需要根据权限验证组件的行为。因此,我需要模拟PermissionsAndroid。

有没有办法做到这一点?

android react-native react-native-android android-permissions
1个回答
0
投票

您可以直接从react-native进行模拟,就像:

    jest.doMock('react-native', () => ({
      PermissionsAndroid: {
        request: (permission: string) => {
          //whatever you want
        },
      },
    }))

[注意,您可能会看到用于该单元测试的组件的一些问题,即,如果您使用的是React Native的<View>而不是对其进行模拟,则可能会显示错误。在这种情况下,您必须导入<View>,然后将其包含在模拟中。

import { View } from 'react-native'
...

    jest.doMock('react-native', () => ({
      View,
      PermissionsAndroid: {
        request: (permission: string) => {
          //whatever you want
        },
      },
    }))
© www.soinside.com 2019 - 2024. All rights reserved.