Содержимое NativeBase, не отображаемое в Jest с реагирующей нативной библиотекой тестирования - PullRequest
1 голос
/ 28 мая 2019

У меня есть некоторый реагирующий-родной / экспо с собственным-базовым кодом, который нормально работает на телефоне или эмуляторе. Я попытался создать для него тест, используя jest и act-native-testing-library . При этом все, что находится внутри из native-base , не отображается и не может быть найдено в тесте.

Кто-нибудь прошел через это и знал бы решение, чтобы дочерние элементы контента отображались во время тестирования?

Ниже приведен пример кода, иллюстрирующий то, что я говорю. Большое спасибо за помощь.

import { render } from 'react-native-testing-library';
import {
  Content, Container, Text
} from 'native-base';


class App extends React.Component {

  render() {
    return (
      <Container>
        <Content>
          <Text testID="textId">Hello</Text>
        </Content>
      </Container>
    );
  }
}

describe('Testing Content', () => {
  const { queryByTestId } = render(<App />)
  it('renders text inside content', () => {
    expect(queryByTestId('textId')).not.toBeNull()
  });

})

Версии пакетов:

"expo": "^32.0.0",
"react": "16.5.0",
"native-base": "^2.12.1",
"jest-expo": "^32.0.0",
"react-native-testing-library": "^1.7.0"

1 Ответ

0 голосов
/ 05 июня 2019

Я задал вопрос в библиотеке реагирования на нативные ошибки в github (https://github.com/callstack/react-native-testing-library/issues/118).

Проблема связана с представлением реагирования на нативную клавиатуру-распознавания клавиатуры

Чтобы решить эту проблему, мы можем высмеять это следующим образом

jest.mock('react-native-keyboard-aware-scroll-view', () => {
    const KeyboardAwareScrollView = ({ children }) => children;
    return { KeyboardAwareScrollView };
});

Я также привожу пример для тех, кто может искать: https://github.com/pedrohbtp/rntl-content-bug

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...