Итак, я работаю над настройкой некоторых Jest-тестов для моего приложения React Native, но у меня возникают проблемы при попытке смоделировать response-native-camera.
response-native-camera в настоящее времяразделить на две реализации - RCTCamera и RNCamera - и я использую их обе.RCTCamera для Android и RNCamera для iOS.
Так что мой набор тестов сталкивается с большим затруднением, когда он попадает в такие строки:
type: ((Platform.OS === 'android') ? Camera.constants.Type.back : RNCamera.Constants.Type.back),
Я успешно издевался над компонентом Camera и егоконстанты, вот так:
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);
Но это оставляет RNCamera неопределенным.
Я новичок в Jest,так что я все еще учусь.Camera и RNCamera - это отдельные компоненты в отдельных файлах в пакете реагировать на встроенную камеру.Как я могу издеваться над ними обоими?
Спасибо.