aliameen / laravel-test-helpers
PHPUnit testing helpers for Laravel - simplify mocking
v1.0.0
2026-02-16 21:10 UTC
Requires
- php: ^7.2|^8.0|^8.1|^8.2
- illuminate/support: ^5.8|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- mockery/mockery: ^1.0
Requires (Dev)
- orchestra/testbench: ^3.8|^4.0|^5.0|^6.0|^7.0|^8.0|^9.0
- phpunit/phpunit: ^8.0|^9.0|^10.0
README
PHPUnit testing helpers for Laravel. Stop writing repetitive mocking code.
Installation
composer require aliameen/laravel-test-helpers --dev
Usage
Add the trait to your test:
use AliAmeen\LaravelTestHelpers\TestHelpers; class MyTest extends TestCase { use TestHelpers; }
Methods
Mock Request
$this->getRequestMockWith([ 'email' => 'test@example.com', 'name' => 'John' ]); // $request->input('email') returns 'test@example.com'
Mock Services
$this->mockClassWith(UserService::class, [ 'findById' => $user, 'isActive' => true ]); // app(UserService::class)->findById(1) returns $user
Fluent Mocking
$this->mockClassWith(Builder::class, [ 'setName' => 'SELF_OBJECT_RETURN', 'save' => true ]); // $builder->setName('x')->save() works
Other Helpers
// Set private properties $this->setPrivateProperty($object, MyClass::class, 'prop', 'value'); // Compare arrays (ignore key order) $this->assertArraySimilar($expected, $actual); // Parse JSON response $data = $this->parsedJsonResponse();
Requirements
- PHP 7.2+
- Laravel 5.8+
License
MIT