如何解决jest测试失败时出现的“尚未调用呈现方法”问题(react-native)

ntjbwcob  于 2023-01-21  发布在  React
关注(0)|答案(1)|浏览(105)

正在编写组件测试,但测试失败,错误为 “尚未调用呈现方法"。
MealCard.test.tsx

/**
 * @jest-environment jsdom
 */

import { MenuProvider } from 'react-native-popup-menu';
import { fireEvent, render, screen } from "@testing-library/react-native"
import { MealCard } from "../src/components/MealCard";

describe("testing MealCard component", () => {
    test("open menu with edit and delete options", () => {
        const testItem ={
            image: 'null',
            name: 'testing', 
            id: 'name+date',
            calories: 2000,
            proteins: 150,
            carbohydrates: 200, 
            fats: 90, 
        }

        fireEvent.press(screen.getByTestId("moreMenuTrigger"), "onMenuOpen")
        expect(screen.getByText("Edit")).toBeDefined();
        expect(screen.getByText("Delete")).toBeDefined();

        render(
            <MenuProvider>
                <MealCard key ="testing" item={testItem}/>
            </MenuProvider>
        )
    })
})

这也是我第一次写一个组件测试,我不知道是否有一个更好的方法来测试 * 如果一个菜单将打开编辑和删除选项后,点击图标 *,如果是这样,我想任何建议的改进。谢谢

8yparm6h

8yparm6h1#

您需要先执行render(<MenuProvider...),然后才执行fireEvent.press(...

相关问题