Как проверить содержимое тега <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
});
Тест тоже проходит. Есть ли способ сделать эту работу даже с константой?