如何使用 Laravel 为 Graphql 应用程序创建单元测试?
Posted
技术标签:
【中文标题】如何使用 Laravel 为 Graphql 应用程序创建单元测试?【英文标题】:How can i created unit testing to Graphql application with Laravel? 【发布时间】:2018-11-05 13:06:01 【问题描述】:我使用 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']);
【问题讨论】:
【参考方案1】:我目前和你一样使用 GraphQL。 因为我使用 GraphQL 文件来描述我的数据模型,所以我只有 PHP 中的解析器(像你一样没有?)。
我认为你可以创建单元测试但它不是必需的,因为数据模型的作用是避免类型错误。但是你可以让它表现更好的产品/平台是的。
因此,集成测试对于测试解析器非常重要。
我目前正在使用 API 调用来测试解析器,但它可能会改变,因为我不是专家,而且我认为这不是更好的方法,但现在可以完成这项工作。
【讨论】:
以上是关于如何使用 Laravel 为 Graphql 应用程序创建单元测试?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用公用文件夹和 php artisan 的情况下在 laravel graphql-playground 中加载 schema.graphql
如何在 Laravel Rebing GraphQL 中使用“隐私”属性函数?
GraphQL 配合 JWT 使用 —— Laravel RSS
如何使用 Laravel8 中的 Twig 扩展注入 php GraphQL 查询结果,在 Twig(Bridge) 模板中定义查询?