Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React Testing onClick Console.log_Reactjs_Testing_Enzyme - Fatal编程技术网

Reactjs React Testing onClick Console.log

Reactjs 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') );

我很迷路。我需要确认单击按钮时是否触发onClick。它在控制台中记录“Click”,但我认为我需要确保在控制台中记录“Click”,以便在测试中断言它是功能性的。我确信预期是错误的,但似乎无法通过我的正常手段找到正确的答案。任何帮助都将不胜感激

index.js

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
函数传递,然后确保在
之后调用了一次。模拟
单击。检查这里的例子,谢谢!成功了!