PHP code example of sassnowski / pest-plugin-contract-tests
1. Go to this page and download the library: Download sassnowski/pest-plugin-contract-tests library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
sassnowski / pest-plugin-contract-tests example snippets
// tests/Contracts/FilesystemContract.php
use function Sassnowski\PestContractTests\contractTest;
contractTest(Filesystem::class, function (Closure $getInstance) {
it('can save a file for the first time', function () use ($getInstance) {
/** @var Filesystem $fs */
$fs = $getInstance();
expect($fs->fileExists('::filename::'))->toBeFalse();
$fs->storeFile(
new MockFile('::contents::'),
'::filename::',
);
expect($fs->fileExists('::filename::'))->toBeTrue();
});
it('throws an exception if a file with the same name already exists', function () use ($getInstance) {
/** @var Filesystem $fs */
$fs = $getInstance();
$fs->storeFile(
new MockFile('::contents::'),
'::filename::'
);
// Trying to store another file with the same name should blow up.
$fs->storeFile(
new MockFile('::contents::'),
'::filename::'
);
})->throws(
FileAlreadyExistsException::class,
"The file '::filename::' already exists"
);
});
// tests/InMemoryFilesystemTest.php
use function Sassnowski\PestContractTests\implementsContract;
implementsContract(Filesystem::class, fn () => new InMemoryFilesystem());
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.