1

我已经尝试了互联网上描述的所有可能的解决方案,但似乎没有任何帮助。

我创建了一个模拟服务器并试图拦截一个 GraphQL 调用:

./setup/setup-server.ts

const handlers = [
graphql.query<GetOperation, GetOperationVariables>(
    'GetOperation'
    (req, res, ctx) => {
      // Nothing showing in console
      console.log(req.variables);
      return res(
        ctx.data({
          operation: [] // mocked operation
        })
      );
    }
  ),
]

./graphql/use-get-operation.ts

export const GET_OPERATION_BY_ID_DEFAULT = gql`
  query GetOperation($idOrContractNumber: String!) {
    operation(input: { idOrContractNumber: $idOrContractNumber }) {
      id
      modality
      totaltaxes
      exchangeRate
    }
  }
`;

通话不会被拦截。

我已经尝试过:

  • 在配置文件中导入 jest-fetch-mock;
  • 在 setupFiles.js 中启动服务器(如文档中所示);
  • 直接在测试文件中启动服务器;
  • 在操作名称中使用正则表达式而不是字符串;

似乎没有任何效果。

我尝试同时创建查询和突变,但没有成功。

使用的 MSW 版本:0.33.0

4

0 回答 0