Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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
Jestjs 手动Jest Mock无法与create react应用程序一起使用_Jestjs_Create React App_React Testing Library - Fatal编程技术网

Jestjs 手动Jest Mock无法与create react应用程序一起使用

Jestjs 手动Jest Mock无法与create react应用程序一起使用,jestjs,create-react-app,react-testing-library,Jestjs,Create React App,React Testing Library,我正在使用createreact应用程序最新版本,能够运行普通react组件的测试用例 现在来看更复杂的组件,它可以调用customHooks来渲染组件的几个部分。因此,考虑模仿这些定制挂钩,例如如下所示 ApprovalRequestCertCard组件,具有自定义挂钩useMe和useCertificate ApprovalRequestCertCard.test.tsx 这是mock的文件夹结构 但当我运行测试时,模拟函数不起作用,请参见下面的错误 跟随误差 jest.mock('

我正在使用
createreact应用程序
最新版本,能够运行普通react组件的测试用例

现在来看更复杂的组件,它可以调用customHooks来渲染组件的几个部分。因此,考虑模仿这些定制挂钩,例如如下所示

  • ApprovalRequestCertCard组件,具有自定义挂钩useMe和useCertificate
  • ApprovalRequestCertCard.test.tsx
  • 这是mock的文件夹结构

  • 但当我运行测试时,模拟函数不起作用,请参见下面的错误

  • 跟随误差

  • jest.mock('../hooks/useMe', () => ({
      __esModule: true,
      default: () => ({
      data: {
        role: 'MondraAdmin',
      },
     }),
    }));
    
    jest.mock('../hooks/useCertificate');
    
    test('Render ApprovalRequestCertCard', () => {
    render(
     <ApprovalRequestCertCard
       readOnly={true}
       cert={cert}
       companyId=""
       onUpdate={update}
     />
    );
    expect(screen.getByText('Impacts under review')).toHaveClass(
     'font-medium text-lg'
    );
    });
    
      const useCertificate = jest.fn(() => ({
         inProgress: false,
         cancelApproval: jest.fn().mockName('cancelApproval'),
         approve: jest.fn().mockName('approve'),
         reject: jest.fn().mockName('reject'),
         revoke: jest.fn().mockName('revoke'),
         sendStartDate: jest.fn().mockName('sendStartDate'),
         cancel: jest.fn().mockName('cancel'),
         unrevoke: jest.fn().mockName('unrevoke'),
         editCertification: jest.fn().mockName('editCertification'),
      }));
    
      export default useCertificate;