1. Go to this page and download the library: Download codekandis/phpunit 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/ */
codekandis / phpunit example snippets
declare( strict_types = 1 );
namespace Vendor\Project\Tests;
use CodeKandis\PhpUnit\TestCase;
class ApplicationTest extends TestCase
{
}
declare( strict_types = 1 );
namespace Vendor\Project\Tests;
use CodeKandis\PhpUnit\TestCase;
use Throwable;
final class ServiceTest extends TestCase
{
public function testIfServiceRunsWithoutThrowable(): void
{
try
{
$service = new Service();
$service->run();
}
catch ( Throwable $throwable )
{
static::failUnexpectedThrowableHasBeenThrown( $throwable::class );
}
static::assertTrue( $service->hasRun() );
}
}
declare( strict_types = 1 );
namespace Vendor\Project\Tests;
use CodeKandis\PhpUnit\TestCase;
use RuntimeException;
final class ServiceTest extends TestCase
{
public function testIfServiceThrowsRuntimeException(): void
{
try
{
$service = new Service();
$service->fail();
}
catch ( RuntimeException $throwable )
{
static::assertSame( 'The service failed.', $throwable->getMessage() );
return;
}
static::failExpectedThrowableHasNotBeenThrown( RuntimeException::class );
}
}
declare( strict_types = 1 );
namespace Vendor\Project\Tests;
use CodeKandis\PhpUnit\DataProviderInterface;
use Override;
final class DifferentValuesDataProvider implements DataProviderInterface
{
#[Override]
public static function provideData(): iterable
{
return [
0 => [
23,
42
],
1 => [
'foo',
'bar'
]
];
}
}
declare( strict_types = 1 );
namespace Vendor\Project\Tests;
use CodeKandis\PhpUnit\TestCase;
use CodeKandis\PhpUnit\DataProviderInterface;
use PHPUnit\Framework\Attributes\DataProviderExternal;
final class DifferentValuesTest extends TestCase
{
#[DataProviderExternal( DifferentValuesDataProvider::class, DataProviderInterface::PROVIDER_METHOD_NAME )]
public function testValuesAreDifferent( mixed $value1, mixed $value2 ): void
{
static::assertNotSame( $value1, $value2 );
}
}
declare( strict_types = 1 );
namespace Vendor\Project\Tests;
use CodeKandis\PhpUnit\TestCase;
final class ArrayTest extends TestCase
{
public function testArrayContainsKeyedSubset(): void
{
static::assertArrayContainsKeyedSubset(
[
'foo' => [
'bar' => 23
]
],
[
'foo' => [
'bar' => 23,
'baz' => 42
]
],
true
);
}
}
declare( strict_types = 1 );
namespace Vendor\Project\Tests;
use CodeKandis\PhpUnit\TestCase;
final class ArrayTest extends TestCase
{
public function testArrayContainsUnkeyedSubset(): void
{
static::assertArrayContainsUnkeyedSubset(
[
23,
],
[
42,
23
],
true
);
}
}
declare( strict_types = 1 );
namespace Vendor\Project\Tests;
use CodeKandis\PhpUnit\TestCase;
final class ArrayTest extends TestCase
{
public function testKeyedSubsetIsSubsetOfArray(): void
{
static::assertIsKeyedSubsetOfArray(
[
'foo' => [
'bar' => 23,
'baz' => 42
]
],
[
'foo' => [
'bar' => 23
]
],
true
);
}
}
declare( strict_types = 1 );
namespace Vendor\Project\Tests;
use CodeKandis\PhpUnit\TestCase;
final class ArrayTest extends TestCase
{
public function testUnkeyedSubsetIsSubsetOfArray(): void
{
static::assertIsUnkeyedSubsetOfArray(
[
42,
23
],
[
23
],
true
);
}
}
declare( strict_types = 1 );
namespace Vendor\Project\Tests;
use CodeKandis\PhpUnit\TestCase;
interface MessageHandlerInterface
{
}
final class MessageHandler implements MessageHandlerInterface
{
}
final class MessageHandlerTest extends TestCase
{
public function testMessageHandlerImplementsMessageHandlerInterface(): void
{
static::assertIsSubClassOf(
MessageHandlerInterface::class,
MessageHandler::class
);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.