React native 使用Jest测试同一模块中的两个组件
所以我正在为我的React本机应用程序设置一些Jest测试,但在尝试模拟React本机摄像头时遇到了问题 react native camera目前分为两种实现——RCTCamera和RNCamera——我正在使用这两种实现。RCTCamera适用于Android,RNCamera适用于iOS 因此,当我的测试套件遇到这样的问题时,它遇到了一个大问题:React native 使用Jest测试同一模块中的两个组件,react-native,jestjs,react-native-camera,React Native,Jestjs,React Native Camera,所以我正在为我的React本机应用程序设置一些Jest测试,但在尝试模拟React本机摄像头时遇到了问题 react native camera目前分为两种实现——RCTCamera和RNCamera——我正在使用这两种实现。RCTCamera适用于Android,RNCamera适用于iOS 因此,当我的测试套件遇到这样的问题时,它遇到了一个大问题: type: ((Platform.OS === 'android') ? Camera.constants.Type.back : RNCame
type: ((Platform.OS === 'android') ? Camera.constants.Type.back : RNCamera.Constants.Type.back),
我已成功模拟摄影机组件及其常量,如下所示:
import React from 'react';
const constants = constants = {
Aspect: {},
BarCodeType: {},
Type: {},
CaptureMode: {},
CaptureTarget: {},
CaptureQuality: {},
Orientation: {},
FlashMode: {},
TorchMode: {}
};
class Camera extends React.Component {
static constants = constants
render() {
return null;
}
}
Camera.constants = constants;
export default Camera;
然后在测试用例中执行以下操作:
jest.mock('react-native-camera', () => require.requireActual('../../__mocks__/react-native-camera').default);
但这还没有定义
我不太会开玩笑,所以我还在学习。Camera和RNCamera是react native Camera软件包中独立文件中的独立组件。我怎么能嘲笑他们两个呢
谢谢。您找到解决方案了吗?在我的测试中,我还发现RNCamera未定义。@SarneetKaur我没有,没有。我们决定咬紧牙关,在android和ios上都使用RNCamera,不开玩笑地继续前进。