正在编写组件测试,但测试失败,错误为 “尚未调用呈现方法"。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>
)
})
})
这也是我第一次写一个组件测试,我不知道是否有一个更好的方法来测试 * 如果一个菜单将打开编辑和删除选项后,点击图标 *,如果是这样,我想任何建议的改进。谢谢
1条答案
按热度按时间8yparm6h1#
您需要先执行
render(<MenuProvider...)
,然后才执行fireEvent.press(...