Я пытаюсь протестировать простой компонент React Native (Expo Managed) на основе FlatList с помощью Jest. Jest настраивается с помощью параметра "preset": "jest-expo"
.
Код компонента выглядит следующим образом:
import { FlatList } from "react-native";
import React from "react";
import { Message } from "../../../graph/graph";
import MessageComponent from "../message";
export interface MessageStackProps {
messages: Message[];
}
export default function MessageStack({ messages }: MessageStackProps) {
const renderItem = ({ item }) => {
const message = item as Message;
return (
<MessageComponent
text={message.text}
targetStatuses={[]}
sentDate={new Date()}
/>
);
};
return <FlatList data={messages} renderItem={renderItem} />;
}
Мой тест выглядит следующим образом:
function render(messages: Partial<Message>[] = []) {
return render(<MessageStack messages={messages as Message[]} />);
}
it("should render a single message for one message", () => {
const message: Partial<Message> = {
id: 1,
text: "Test message",
};
const { getAllByText } = render([message]);
expect(getAllByText(/message/i)).toBeArrayOfSize(1);
});
При запуске этого теста я получаю следующую ошибку:
TypeError: ReactDebugCurrentFrame.setExtraStackFrame is not a function
The above error occurred in the <CellRenderer> component:
Я делаю что-то не так или это известная проблема?
Буду признателен за любую помощь! Спасибо!
Удалось ли вам решить эту проблему?