Javascript 无法使用Enzyme find()找到DOM元素
我有一个记忆游戏,我想测试一下,如果点击一张翻过的记忆卡,是否会显示图像,但我无法使用酶获得元素的引用。让我概述一下用例: 向用户显示存储卡图像 用户单击下面的蓝色按钮。所有卡都已“翻转”,且onClickhandler处于活动状态 在这一点上,当一张卡片被点击时,它被翻转并且图像可见。我想写一个测试这样做,并测试是否有2个相同的卡计数等,但我不能参考所选卡上的任何道具 这是我的测试:Javascript 无法使用Enzyme find()找到DOM元素,javascript,reactjs,jestjs,enzyme,Javascript,Reactjs,Jestjs,Enzyme,我有一个记忆游戏,我想测试一下,如果点击一张翻过的记忆卡,是否会显示图像,但我无法使用酶获得元素的引用。让我概述一下用例: 向用户显示存储卡图像 用户单击下面的蓝色按钮。所有卡都已“翻转”,且onClickhandler处于活动状态 在这一点上,当一张卡片被点击时,它被翻转并且图像可见。我想写一个测试这样做,并测试是否有2个相同的卡计数等,但我不能参考所选卡上的任何道具 这是我的测试: describe("Test the puzzle", () => { c
describe("Test the puzzle", () => {
const component = mount(<Board />);
it("should show 1 turned card when clicked", () => {
const button = component.find(".button");
const card = component.find(".card");
const turnedCards = [];
expect(button).toBeDefined();
expect(card).toBeDefined();
act(() => {
button.props().onClick({});
});
card.props().onClick({});
});
“改为找到0。”表示此处没有选择DOM元素,即使开发工具显示div.class元素(实际上在本板中为36)
这很奇怪,因为我能够选择按钮(
constbutton=component.find(“.button”);
)并执行以下操作
我错过了什么
"react": "^16.13.1",
"react-dom": "^16.13.1",
"@testing-library/jest-dom": "^5.11.5",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.5",
你能包括
板组件吗?const-button=component.find('button').simulate('click')
应该添加我想要访问的元素是一个React功能组件,如果这有什么区别的话?我认为这不会有什么区别。你试过我给你的模拟点击选项吗?
button.props().onClick({});
"react": "^16.13.1",
"react-dom": "^16.13.1",
"@testing-library/jest-dom": "^5.11.5",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.5",