worksome / pest-graphql-coverage
Pest的插件,通过Lighthouse添加GraphQL覆盖率
v0.3.5
2024-09-13 14:17 UTC
Requires
- php: ^8.2
- illuminate/contracts: ^10.0 || ^11.0
- nuwave/lighthouse: ^6.36
- pestphp/pest: ^2.35 || ^3.0
- pestphp/pest-plugin-laravel: ^2.3 || ^3.0
Requires (Dev)
- larastan/larastan: ^2.9
- nunomaduro/collision: ^7.10 || ^8.4
- orchestra/testbench: ^8.26 || ^9.0
- worksome/coding-style: ^2.11
README
此插件添加了对显示GraphQL模式覆盖率的支持(仅限Lighthouse)。
安装
您可以通过composer安装此包
composer require --dev worksome/pest-graphql-coverage
用法
要启用它,只需将--gql-coverage
参数添加到您的测试命令中
php artisan test --gql-coverage
它甚至可以与并行使用
php artisan test --gql-coverage -p
设置覆盖率限制
通过添加参数--gql-min=<percentage>
,我们可以限制最小覆盖率为x。
php artisan test --gql-coverage --gql-min=60
设置输出字段数量
通过添加参数--gql-untested-count=<max>
,我们可以增加或减少输出的未测试字段数量。
php artisan test --gql-coverage --gql-untested-count=25
更改默认模式检索命令
默认情况下,它将使用php artisan lighthouse:print-schema
来检索模式,但是如果您有用于检索模式的自定义命令,可以通过添加--schema-command
参数来使用该命令。
php artisan test --gql-coverage --schema-command="php artisan lighthouse:print-schema-v2"
排除节点以从总覆盖率中排除
默认情况下,当计算覆盖率时,将包括所有节点。但是,如果您有诸如内置Lighthouse分页类型之类的节点,您不希望它们被覆盖,您可以从您的Pest.php
配置文件中配置忽略字段。
<?php declare(strict_types=1); use Worksome\PestGraphqlCoverage\Config as GraphQLCoverageConfig; GraphQLCoverageConfig::new() ->ignore([ 'PaginatorInfo.count', // ... ]); // Exclude all paginator info nodes GraphQLCoverageConfig::new() ->ignorePaginatorInfo();
原生Pest用法
由于它是Pest插件,因此它也原生支持Pest(无需使用Artisan)。
vendor/bin/pest --gql-coverage
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。