我正在使用React-native构建一个Android应用,并从react-native使用PermissionsAndroid获得用户许可。
import {PermissionsAndroid} from 'react-native'
现在,我正在编写单元测试,我需要根据权限验证组件的行为。因此,我需要模拟PermissionsAndroid。
有没有办法做到这一点?
您可以直接从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
},
},
}))