php - 如何使用 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']);
}
}
解决方案
我目前正在像你一样使用 GraphQL。因为我使用 GraphQL 文件来描述我的数据模型,所以我只有 PHP 中的解析器(像你一样没有?)。
我认为您可以创建单元测试,但这不是必需的,因为数据模型的作用是避免类型错误。但是你可以让它执行更好的产品/平台是的。
这样,集成测试对于测试解析器非常重要。
我目前正在使用 API 调用来测试解析器,但它可能会改变,因为我不是专家,我认为这不是更好的方法,但现在可以完成这项工作。
推荐阅读
- javascript - JSON.stringify 将空对象从 FileList 发送到服务器
- elasticsearch - EKS EFK 日志记录方法
- amazon-web-services - 如何使用 Cloudwatch 将常量值传递给 AWS Step Function
- powershell - 如何从csv文件循环遍历层次结构?
- ruby-on-rails - 重命名rails json api键
- arrays - 由于语法错误,无法返回固定大小的数组:应为 7 个可能的标记之一
- google-analytics - 传单弹出链接中的谷歌分析事件
- azure - 创建后更新 Azure APIM 操作名称
- c# - 如何根据C#中的文本框值更新xml的属性
- amazon-web-services - 使用 Lettuce 连接到 AWS ElastiCache Redis 的 Spring Session