如何针对模拟数据运行 GQL 查询以在单元测试中获得真实的结果?

问题描述 投票:0回答:1

我正在寻找一种针对模拟数据对象运行查询的方法。

问题 我目前通过模拟 GQL 响应。效果很好,但是模拟的结果完全按照定义返回。模拟响应可以返回查询未要求的字段。

要求 我想要一个假数据库,并通过获取假数据并对其“运行”查询来生成模拟结果数据。 Apollo iOS 几乎拥有我想要的 1,但它不适用于 React + Typescript。例如:

const fakeUserData = {id: 1, name: "First Last"};
query = gql`query { user { id } }`;
query.data.from(fakeUserData):
// Returns: {id: 1} without `name`.

这个存在于某处吗?这种模式有意义吗? 谢谢!

我唯一找到的是 iOS 客户端 .Data.from(mock),但它不适用于 TypeScript。

graphql apollo apollo-client react-apollo
1个回答
0
投票

您可以使用

cache.writeQuery
将“太多”数据写入商店,之后您还可以查询部分数据。

有关示例,请参阅Apollo 客户端自行测试

      cache.writeQuery({
        query,
        data: { hello: "from cache" },
      });
© www.soinside.com 2019 - 2024. All rights reserved.