Reactjs React Testing onClick Console.log
我很迷路。我需要确认单击按钮时是否触发onClick。它在控制台中记录“Click”,但我认为我需要确保在控制台中记录“Click”,以便在测试中断言它是功能性的。我确信预期是错误的,但似乎无法通过我的正常手段找到正确的答案。任何帮助都将不胜感激 index.jsReactjs React Testing onClick Console.log,reactjs,testing,enzyme,Reactjs,Testing,Enzyme,我很迷路。我需要确认单击按钮时是否触发onClick。它在控制台中记录“Click”,但我认为我需要确保在控制台中记录“Click”,以便在测试中断言它是功能性的。我确信预期是错误的,但似乎无法通过我的正常手段找到正确的答案。任何帮助都将不胜感激 index.js ReactDOM.render( <Button onClick={() => console.log('Click')} />, document.getElementById('root') );
ReactDOM.render(
<Button onClick={() => console.log('Click')} />,
document.getElementById('root')
);
ReactDOM.render(
console.log('Click')}/>,
document.getElementById('root'))
);
Button.js
import React from 'react';
export default function Button(props) {
return <button onClick={() => props.onClick()}>Click me!</button>;
}
从“React”导入React;
导出默认功能按钮(道具){
返回props.onClick()}>单击我!;
}
Button.test.js
import React from "react";
import { shallow } from "enzyme";
import Button from "./button";
describe("<Button />", () => {
it("Should call props.onClick when the button is clicked", () => {
const wrapper = shallow(<Button onClick={() => console.log("Click")} />);
wrapper.find("button").simulate("click");
expect(console.log).expect.stringContaining("Click");
});
});
从“React”导入React;
从“酶”中导入{shall};
从“/”按钮导入按钮;
描述(“,()=>{
它(“单击按钮时应调用props.onClick”,()=>{
const wrapper=shallow(console.log(“Click”)}/>);
包装器。查找(“按钮”)。模拟(“单击”);
expect(console.log).expect.stringContaining(“单击”);
});
});
不确定是否可以在console.log functionallity上进行实际测试。这里的方法是创建一个模拟函数,将其作为onClick
函数传递,然后确保在之后调用了一次。模拟单击。检查这里的例子,谢谢!成功了!