testo/assert
Assertion plugin for the Testo PHP testing framework. Adds a fluent assert/expect facade, expectation lifecycle, and helpers for matching thrown exceptions. Reports comparisons through Testo’s standard pipeline. Install via Composer: testo/assert.
assertEquals() → Assert::that()->equals()). The learning curve may introduce short-term productivity losses, especially for teams unfamiliar with Testo’s syntax.AssertException → AssertionException) and new features, indicating active but evolving development. The 0.1.x release cycle suggests immature stability, increasing the risk of incompatible updates.assertRouteIsMissing, assertDatabaseHas) are PHPUnit-specific. Using Testo would require custom wrappers or abandoning Laravel’s testing utilities, which may not be feasible.assertRedirect(), assertSessionHas()), necessitating custom replacements.Full Testo Adoption (Recommended for New Projects):
testo/assert for fluent assertions and detailed failure reporting.Hybrid Approach (High Risk):
Incremental Adoption (Pilot-First):
assertResponseStatus(), assertSee()) are PHPUnit-specific. Using Testo would require:
assertDatabaseHas() would need replacements (e.g., custom Testo assertions).testo/assert in a small, isolated test suite to evaluate:
// PHPUnit
$this->assertEquals(['a', 'b'], $array);
$this->assertArrayHasKey('key', $array);
// Testo
Assert::that($array)->equals(['a', 'b'])->arrayHasKey('key');
laravel-testing-testo package).How can I help you explore Laravel packages today?