Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.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
Javascript 如何更改按钮的禁用属性_Javascript_Reactjs_Jestjs_React Testing Library - Fatal编程技术网

Javascript 如何更改按钮的禁用属性

Javascript 如何更改按钮的禁用属性,javascript,reactjs,jestjs,react-testing-library,Javascript,Reactjs,Jestjs,React Testing Library,我不知道如何通过react测试库&&jest 当不允许用户权限时,将禁用按钮集 const mockFindServer = jest.fn(); const mockAddServer = jest.fn(); const mockHandleClose = jest.fn(); const { getAllByText } = render( <FindServerModal isOpen isEmpty={false} isFailed={false}

我不知道如何通过react测试库&&jest
当不允许用户权限时,将禁用按钮集

const mockFindServer = jest.fn();
const mockAddServer = jest.fn();
const mockHandleClose = jest.fn();

const { getAllByText } = render(
  <FindServerModal
    isOpen
    isEmpty={false}
    isFailed={false}
    serverCandidates={[
      { name: 'TEST1', syncIpAddress: '1.1.1.1' },
      { name: 'TEST2', syncIpAddress: '1.1.1.2' },
    ]}
    findServer={mockFindServer}
    addServer={mockAddServer}
    onClose={mockHandleClose}
  />,
);

it('test button', () => {
  const buttons = getAllByTest('Add');  # two disabled buttons

  buttons.map(btn => {
    btn.setAttribute('disabled', 'false');
    fireEvent.click(btn);
  })

  expect(mockAddServer).toHaveBeenCalledTimes(2);  # failed
})
const mockFindServer=jest.fn();
const mockAddServer=jest.fn();
const mockHandleClose=jest.fn();
常量{getAllByText}=render(
,
);
它('测试按钮',()=>{
const buttons=getAllByTest('Add');#两个禁用的按钮
按钮映射(btn=>{
btn.setAttribute('disabled','false');
fireEvent.单击(btn);
})
预期(mockAddServer).tohavebeincalledtimes(2);#失败
})

按钮在实际应用中是如何被禁用的,它是基于一些道具。或者按钮是如何启用或禁用的。你能再解释一下吗?那么,基于一些道具(用户的身份验证级别)的帮助会更容易,这样你就可以有两个测试用例,一个不是启用的,一个是禁用的,你可以通过相应的道具,在jest dom中不能更改吗?像setAttribute函数那样,如果你这样设置它,它就违背了测试的全部目的。按钮在实际应用中是如何被禁用的,它是基于一些道具的吗。或者按钮是如何启用或禁用的。你能再解释一下吗?那么,基于一些道具(用户的身份验证级别)的帮助会更容易,这样你就可以有两个测试用例,一个不是启用的,一个是禁用的,你可以通过相应的道具,在jest dom中不能更改吗?与setAttribute函数一样,如果这样设置,则会破坏测试的整个目的。