我已经尝试了互联网上描述的所有可能的解决方案,但似乎没有任何帮助。
我创建了一个模拟服务器并试图拦截一个 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