2024-06-01 20:28:11 +00:00
|
|
|
<?php declare(strict_types=1);
|
|
|
|
|
2024-06-02 09:20:20 +00:00
|
|
|
use Mockery\MockInterface;
|
2024-06-01 20:28:11 +00:00
|
|
|
use Tests\TestCase;
|
|
|
|
|
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Test Case
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
| The closure you provide to your test functions is always bound to a specific PHPUnit test
|
|
|
|
| case class. By default, that class is "PHPUnit\Framework\TestCase". Of course, you may
|
|
|
|
| need to change it using the "uses()" function to bind a different classes or traits.
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
uses(TestCase::class)->in('Feature', 'Unit');
|
|
|
|
|
|
|
|
/*
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
| Functions
|
|
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
| While Pest is very powerful out-of-the-box, you may have some testing code specific to your
|
|
|
|
| project that you don't want to repeat in every file. Here you can also expose helpers as
|
|
|
|
| global functions to help you to reduce the number of lines of code in your test files.
|
|
|
|
|
|
|
|
|
*/
|
2024-06-02 09:20:20 +00:00
|
|
|
/**
|
|
|
|
* @template T of object
|
|
|
|
* @param class-string<T> $className
|
|
|
|
* @return MockInterface&T
|
|
|
|
*/
|
|
|
|
function createMock(string $className): MockInterface
|
2024-06-01 20:28:11 +00:00
|
|
|
{
|
2024-06-02 09:20:20 +00:00
|
|
|
return Mockery::mock($className);
|
2024-06-01 20:28:11 +00:00
|
|
|
}
|