Как проверить содержимое тега <Text /> в Jest + Enzyme + React Native?

Я хочу провести юнит-тест с Jest и Enzyme, если мой <Text /> тег правильно получает props.header как текст

Обычно я был в состоянии проверить содержание <Text /> пометить как это:

it("should render a label", () => {
  expect(wrapper.find(Text).contains("submit")).toBe(true);
});

Но как только я передаю объект, это уже невозможно. Позволь мне показать тебе:

const createTestProps = props => ({
  header: SOME_CONSTANT,
  ...props
});

...

  let wrapper;
  let props;
  beforeEach(() => {
    props = createTestProps();
    wrapper = shallow(<MyList {...props} loaded={false} />);
  });

  it("should render a header", () => {
    expect(wrapper.find(Text).contains(props.header)).toBe(true);
  });

Это происходит со следующим сообщением об ошибке:

● MyList › rendering › still loading › should render a header

    expect(received).toBe(expected) // Object.is equality

    Expected: true
    Received: false

Как я могу проверить это, используя Jest и Enzyme?

редактировать

Я узнал, что он должен что-то делать, передавая константу props, Если я жестко закодировал значение props как это:

const createTestProps = props => ({
  header: "Some hardcoded value",
  ...props
});

Тест тоже проходит. Есть ли способ сделать эту работу даже с константой?

0 ответов

Другие вопросы по тегам