小编use*_*902的帖子

测试Apollo变异graphql错误

根据文档,我应该能够模拟graphql错误以进行测试。

To simulate GraphQL errors, simply define errors along with any data in your result.

const dogMock = {
  // ...
  result: {
    errors: [{ message: "Error!" }],
  },
};
Run Code Online (Sandbox Code Playgroud)

但是,该错误导致我的测试完全失败。对于查询,它可以按预期工作,但是文档说,它对Mutation也一样。

为了简单起见,这里没有显示突变的错误情况,但是测试Mutation错误与测试Query错误完全相同:只需将错误添加到模拟中,触发突变,并检查UI以获得错误消息。

这是我的代码...

零件

class Example extends Component {
  state = {email: ''};

  render() {
    return (
      <div>
        <Mutation mutation={EXAMPLE_MUTATION} variables={this.state}>
          {(signin, {error, loading}) => {
            if(error)
              return <p data-test="graphql-error">{error.message}</p>;

            return (
              <form method="post" onSubmit={async e => {
                e.preventDefault();
                await signin();
                this.setState({email: ''});
              }}>
                <fieldset disabled={loading} …
Run Code Online (Sandbox Code Playgroud)

reactjs jestjs react-apollo

6
推荐指数
1
解决办法
764
查看次数

标签 统计

jestjs ×1

react-apollo ×1

reactjs ×1