mirror of
https://github.com/pestphp/pest.git
synced 2026-04-21 14:37:29 +02:00
feat(tia): continues to work on poc
This commit is contained in:
20
src/Contracts/Plugins/AfterEachable.php
Normal file
20
src/Contracts/Plugins/AfterEachable.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Pest\Contracts\Plugins;
|
||||
|
||||
/**
|
||||
* Called at the start of `tearDown`. Return `false` to skip the framework
|
||||
* tearDown, afterEach chain, and method-level cleanup.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
interface AfterEachable
|
||||
{
|
||||
/**
|
||||
* @param string $filename Absolute path of the test file.
|
||||
* @param string $testId Fully-qualified `Class::method` identifier.
|
||||
*/
|
||||
public function afterEach(string $filename, string $testId): bool;
|
||||
}
|
||||
26
src/Contracts/Plugins/BeforeEachable.php
Normal file
26
src/Contracts/Plugins/BeforeEachable.php
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Pest\Contracts\Plugins;
|
||||
|
||||
/**
|
||||
* Plugins implementing this interface are called before each test's `setUp`.
|
||||
*
|
||||
* Return `false` to skip the test entirely — `setUp`, body and `tearDown`
|
||||
* are all bypassed and the test counts as passed with one synthetic
|
||||
* assertion. Any other return value lets the test proceed normally.
|
||||
*
|
||||
* Resolution happens once per process via `Loader::getPlugins`; the per-test
|
||||
* call is a cheap iteration over the cached list.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
interface BeforeEachable
|
||||
{
|
||||
/**
|
||||
* @param string $filename Absolute path of the test file.
|
||||
* @param string $testId Fully-qualified `Class::method` identifier.
|
||||
*/
|
||||
public function beforeEach(string $filename, string $testId): bool;
|
||||
}
|
||||
21
src/Contracts/Plugins/Runnable.php
Normal file
21
src/Contracts/Plugins/Runnable.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Pest\Contracts\Plugins;
|
||||
|
||||
/**
|
||||
* Called around the test body (`__runTest`). Return `false` to skip the
|
||||
* closure — a synthetic assertion is registered so PHPUnit does not flag the
|
||||
* test as risky.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
interface Runnable
|
||||
{
|
||||
/**
|
||||
* @param string $filename Absolute path of the test file.
|
||||
* @param string $testId Fully-qualified `Class::method` identifier.
|
||||
*/
|
||||
public function run(string $filename, string $testId): bool;
|
||||
}
|
||||
Reference in New Issue
Block a user