Тестирование двух компонентов из одного модуля с помощью Jest - PullRequest
0 голосов
/ 24 мая 2018

Итак, я работаю над настройкой некоторых 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 - это отдельные компоненты в отдельных файлах в пакете реагировать на встроенную камеру.Как я могу издеваться над ними обоими?

Спасибо.

...