模拟阿波罗graphql客户端

时间:2019-01-29 14:28:28

标签: node.js apollo react-apollo apollo-client apollo-server

我编写了以下节点客户端,该客户端与graphql服务器交互并使用apollo-tools节点模块。我无法在下面的节点中找到任何模拟测试。请让我知道有没有一种方法可以模拟下面的代码。任何帮助都会有所帮助。

const batchIdFetchClient = new ApolloClient({
        uri: `http://localhost:3435`,
        fetch,
    })

    await batchfetchclient.query({
        query: gql`
  query batcidId($batchid: String!) {
    batchIds(batchid: $batchid){
        batchrenewedId 
    }
  }
`,
        variables: {
            batchid: 'exdsfsdfsfdid1234', // As of now hardcoded
        },
    })
        .then(data => {
            logger.info('BatchId Database Successful Response =>' + JSON.stringify(data))
        })
        .catch(error => {
            logger.error('BatchId Database Error Response =>' + error)
        })

1 个答案:

答案 0 :(得分:0)

也许您可以尝试使用easygraphql-tester,它将像这样:

您需要传递架构以对其进行模拟

const EasyGraphQLTester = require('easygraphql-tester')

const tester = new EasyGraphQLTester(schema)

const query = gql`
  query batcidId($batchid: String!) {
    batchIds(batchid: $batchid){
      batchrenewedId 
    }
  }
`

const mock = tester.mock({
  query,
  variables: {
    batchid: 'exdsfsdfsfdid1234', // As of now hardcoded
  }
})

console.log(mock)

此外,如果您要获取特定数据,也可以设置灯具。