worksome/pest-graphql-coverage

Pest的插件,通过Lighthouse添加GraphQL覆盖率

v0.3.5 2024-09-13 14:17 UTC

This package is auto-updated.

Last update: 2024-09-13 14:17:46 UTC


README

Latest Version on Packagist Total Downloads

此插件添加了对显示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)。请参阅许可证文件以获取更多信息。