Skip to main content

package-testing

Use this skill when writing, editing, fixing, or reviewing package tests with Pest 4 and Orchestra Testbench, including TDD, feature tests, unit tests, type coverage, arch tests, workbench behavior, commands, routes, config, migrations, and publishable resources.

跳到安装

来源信息

仓库
WendellAdriel/laravel-expressive
最近来源活动
2026年4月29日 12:47
检测到的 SKILL.md 语言
英语
星标
72
分支
1

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
package-testing
description
Use this skill when writing, editing, fixing, or reviewing package tests with Pest 4 and Orchestra Testbench, including TDD, feature tests, unit tests, type coverage, arch tests, workbench behavior, commands, routes, config, migrations, and publishable resources.
license
MIT
metadata
{"author":"laravel"}
# Package Testing ## Primary Goal Prove package behavior with Pest 4, Orchestra Testbench, and the local `tests/TestCase.php` setup before or alongside implementation. ## Workflow 1. Start with TDD: write the smallest failing package test for the requested behavior, then implement the smallest change that makes it pass. 2. Cover happy-path, unhappy-path, and edge-case behavior when the feature has meaningful failure modes. 3. Prefer focused feature tests for package integration behavior and arch tests for broad constraints. 4. Use `composer test:unit -- --filter ...` while iterating, `composer test:types` when type-sensitive tests or code changed, and `composer test` before finishing. 5. Keep real package tests in the suite and remove only throwaway tests that were explicitly created for local scaffolding experiments. ## References - `tests/TestCase.php` - `tests/Pest.php` - `tests/Feature/` - `tests/Unit/` - `tests/ArchTest.php` - `composer.json` scripts ## Examples - Test config merge and config override by asserting default package config, then overriding the host config value in the Testbench app. - Test publishable assets, migrations, views, lang files, or config by invoking vendor publish behavior and asserting the target path exists. - Test routes with Testbench HTTP requests, commands with Artisan assertions, migrations with a SQLite test database, and workbench behavior after `composer build` when needed. ## Anti-Patterns - Deleting real package tests because they are inconvenient. - Relying only on smoke tests when behavior needs assertions. - Testing implementation details when observable package behavior is available. - Keeping throwaway scaffolding experiment tests in the package test suite.
在 GitHub 查看