Affected Version
v0.0.0
Pre-check
Problem Statement
Currently, FireHub testing across repositories directly relies on PHPUnit\Framework\TestCase, leading to duplicated setup logic and inconsistent test structure across the ecosystem.
There is no unified abstraction layer that can serve as a stable foundation for FireHub-specific testing rules and future architectural enforcement.
Proposed Feature
Introduce a base testing abstraction:
FireHub\Testing\FireHubTestCase
This class extends PHPUnit’s TestCase and acts as the root testing foundation for the entire FireHub ecosystem.
It will serve as the central point for:
- shared testing behavior
- future architecture validation rules
- consistent test structure across all FireHub packages
Use Case / Motivation
FireHub is a multi-layer ecosystem (Core, Runtime Foundation, Adapters, Capabilities), and requires a consistent testing foundation to ensure:
- architectural rules are enforced uniformly
- test structure is reusable across repositories
- future testing utilities can be added without breaking existing tests
This abstraction enables FireHub to evolve into a fully governed testing ecosystem rather than fragmented PHPUnit usage per repository.
Proposed API / Design (optional)
namespace FireHub\Testing;
use PHPUnit\Framework\TestCase;
abstract class FireHubTestCase extends TestCase
{
// Future shared assertions and utilities will be added here
}
Alternatives Considered
- Direct usage of PHPUnit\Framework\TestCase in each repository
→ rejected due to duplication and lack of standardization
- Repository-specific base test classes
→ rejected due to fragmentation across FireHub ecosystem
Impact
- No breaking changes to existing systems
- Introduces new shared dependency across FireHub testing layer
- Establishes foundation for future architectural testing enforcement
- Enables consistent test structure across Core, Runtime, and Adapters
Additional Context
- ArchitectureAssertions
- TestBootstrap
- CoreTestCase
- IntegrationTestCase
- CI enforcement rules (PHPStan + PHPUnit integration)
Affected Version
v0.0.0
Pre-check
Problem Statement
Currently, FireHub testing across repositories directly relies on PHPUnit\Framework\TestCase, leading to duplicated setup logic and inconsistent test structure across the ecosystem.
There is no unified abstraction layer that can serve as a stable foundation for FireHub-specific testing rules and future architectural enforcement.
Proposed Feature
Introduce a base testing abstraction:
FireHub\Testing\FireHubTestCaseThis class extends PHPUnit’s TestCase and acts as the root testing foundation for the entire FireHub ecosystem.
It will serve as the central point for:
Use Case / Motivation
FireHub is a multi-layer ecosystem (Core, Runtime Foundation, Adapters, Capabilities), and requires a consistent testing foundation to ensure:
This abstraction enables FireHub to evolve into a fully governed testing ecosystem rather than fragmented PHPUnit usage per repository.
Proposed API / Design (optional)
Alternatives Considered
→ rejected due to duplication and lack of standardization
→ rejected due to fragmentation across FireHub ecosystem
Impact
Additional Context