首页 > 解决方案 > 如何使用 Laravel 为 Graphql 应用程序创建单元测试?

问题描述

我使用 Graphql 使用 Laravel 创建了一个应用程序。但我不知道如何创建我的单元测试。只用 PHPUnit 做简单的请求还是有其他更好的方法来做?

Laravel 中的示例查询 Graphql:

class ClientQuery extends Query
{
    protected $attributes = [
        'name' => 'ClientQuery',
        'description' => 'A query'
    ];

    public function type()
    {
       return GraphQL::type("Client");
    }

    public function args()
    {
       return [
            'id' => [
                 'type' => Type::nonNull(Type::int()),
            ],
       ];
    }

    public function resolve($root, $args, $context, ResolveInfo $info)
    {
      return Client::find($args['id']);
    }
}

标签: phplaravelunit-testingphpunitgraphql

解决方案


我目前正在像你一样使用 GraphQL。因为我使用 GraphQL 文件来描述我的数据模型,所以我只有 PHP 中的解析器(像你一样没有?)。

我认为您可以创建单元测试,但这不是必需的,因为数据模型的作用是避免类型错误。但是你可以让它执行更好的产品/平台是的。

这样,集成测试对于测试解析器非常重要。

我目前正在使用 API 调用来测试解析器,但它可能会改变,因为我不是专家,我认为这不是更好的方法,但现在可以完成这项工作。


推荐阅读