定制 lokris/scenario-coverage 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

lokris/scenario-coverage

Composer 安装命令:

composer require lokris/scenario-coverage

包简介

Mappe les scénarios utilisateur (PHPUnit) sur le code source — rapport HTML interactif avec arborescence et couverture par scénario.

README 文档

README

PHP License

Mappe les scénarios utilisateur (tests PHPUnit de bout en bout) sur le code source, et produit un rapport HTML interactif autonome : quels scénarios couvrent quel code.

Un scénario = un parcours utilisateur nommé, joué de bout en bout — pas un test unitaire. Là où le coverage classique répond « quelle ligne est testée », scenario-coverage répond « quel parcours couvre quelle ligne ».

Installation

composer require --dev lokris/scenario-coverage

Prérequis pour la collecte de couverture : ext-xdebug ou ext-pcov (le rapport fonctionne sans, mais ne contiendra alors que les métadonnées).

Usage

1. Annoter une classe de test comme scénario

use Lokris\ScenarioCoverage\Attribute\Scenario;
use PHPUnit\Framework\TestCase;

#[Scenario(
    title: "Créer un devis",
    description: "L'utilisateur crée un devis, ajoute une ligne produit et vérifie les totaux.",
    mandatory: true,
    tags: ["vente"],
)]
final class S01_CreateQuoteTest extends TestCase
{
    public function testCreateQuote(): void { /* ... */ }
}

2. Activer l'extension dans phpunit.xml

<extensions>
    <bootstrap class="Lokris\ScenarioCoverage\Extension\ScenarioExtension">
        <parameter name="outputFile" value="var/scenario-coverage.json"/>
        <parameter name="srcRoot"    value="src"/>
    </bootstrap>
</extensions>

(Voir phpunit.extension.xml.dist pour un exemple complet.)

3. Lancer les scénarios, puis générer le rapport

XDEBUG_MODE=coverage vendor/bin/phpunit
vendor/bin/scenario-report --name="mon-projet" --open

Le rapport

Un unique fichier HTML autonome (zéro dépendance, ouvrable hors-ligne) :

  • Dashboard global (couverture, scénarios passés/échoués).
  • Arborescence des fichiers avec taux de couverture.
  • Vue source annotée : lignes couvertes + badges des scénarios qui les couvrent.
  • Vue par scénario : couverture inversée (un scénario → les fichiers qu'il touche).

Options du CLI scenario-report

Option Défaut Description
--input var/scenario-coverage.json JSON produit par l'extension PHPUnit
--output var/scenario-coverage.html Fichier HTML à générer
--src src Racine source (chemins relatifs du rapport)
--name dossier courant Nom du projet affiché
--open Ouvre le rapport dans le navigateur

Licence

MIT — voir LICENSE.

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-06-09

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固