Reactjs 如何使用Jest测试材料ui射线组按钮更改

Reactjs 如何使用Jest测试材料ui射线组按钮更改,reactjs,testing,jestjs,material-ui,enzyme,Reactjs,Testing,Jestjs,Material Ui,Enzyme,如何测试材料ui射线组按钮更改以及设置为本地状态(useState)值的射线组属性“值”的后续更改 在变更事件中,应该触发我嘲笑过的handleChange describe("test", () => { test(`radio`, () => { const handleChange = jest.fn(); const component = shallow( <App /> ); const r

如何测试材料ui射线组按钮更改以及设置为本地状态(useState)值的射线组属性“值”的后续更改

在变更事件中,应该触发我嘲笑过的handleChange

describe("test", () => {
  test(`radio`, () => {

    const handleChange = jest.fn();
    const component = shallow(
      <App />
    );
    const radioGroup = component.find(`[data-test="colorGroup"]`).at(0);
    const blueRadio = radioGroup.find(`[label="blue"]`).at(0);
    blueRadio.simulate(`click`, { checked: true });

    expect(handleChange.mock.calls.length).toBe(1);
  });
});
描述(“测试”,()=>{
测试(`radio`,()=>{
const handleChange=jest.fn();
常数分量=浅(
试试这种方法

describe("test", () => {
      test(`radio`, () => {
    
        // const handleChange = jest.fn();
        const component = shallow(
          <App />
        );
        const radioGroup = component.find(`[data-test="colorGroup"]`).at(0);
        const blueRadio = radioGroup.find(`[label="blue"]`).at(0);

        expect(radioGroup.props().value).toEqual('default'); //Initial value
        radioGroup.props().onChange({target: {value: true}});
        component.update();

        expect(radioGroup.props().value).toEqual('blue'); //After onChange
      });
    });
描述(“测试”,()=>{
测试(`radio`,()=>{
//const handleChange=jest.fn();
常数分量=浅(
);
常量radioGroup=component.find(`[data test=“colorGroup”]`)。位于(0);
const blueRadio=radioGroup.find(`[label=“blue”]`)。位于(0);
expect(radioGroup.props().value).toEqual('default');//初始值
radioGroup.props().onChange({target:{value:true}});
component.update();
expect(radioGroup.props().value).toEqual('blue');//onChange之后
});
});
如果您仍然面临同样的问题,请告诉我。

试试这种方法

describe("test", () => {
      test(`radio`, () => {
    
        // const handleChange = jest.fn();
        const component = shallow(
          <App />
        );
        const radioGroup = component.find(`[data-test="colorGroup"]`).at(0);
        const blueRadio = radioGroup.find(`[label="blue"]`).at(0);

        expect(radioGroup.props().value).toEqual('default'); //Initial value
        radioGroup.props().onChange({target: {value: true}});
        component.update();

        expect(radioGroup.props().value).toEqual('blue'); //After onChange
      });
    });
描述(“测试”,()=>{
测试(`radio`,()=>{
//const handleChange=jest.fn();
常数分量=浅(
);
常量radioGroup=component.find(`[data test=“colorGroup”]`)。位于(0);
const blueRadio=radioGroup.find(`[label=“blue”]`)。位于(0);
expect(radioGroup.props().value).toEqual('default');//初始值
radioGroup.props().onChange({target:{value:true}});
component.update();
expect(radioGroup.props().value).toEqual('blue');//onChange之后
});
});

如果您仍然面临相同的问题,请告诉我。

这里有什么问题?
模拟
没有触发?这里有什么问题?
模拟
没有触发?测试返回----预期为:“蓝色”收到:“默认”更新了代码。现在您的更改处理程序将仍然返回相同的预期结果测试返回----预期:“蓝色”收到:“默认”更新了代码。现在您的更改处理程序将仍然返回相同的预期结果