1. Go to this page and download the library: Download cspray/database-test-case 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/ */
cspray / database-test-case example snippets
declare(strict_types=1);
namespace Cspray\DatabaseTestCase\Demo;
use Cspray\DatabaseTestCase\DatabaseRepresentation\Row;use Cspray\DatabaseTestCase\DatabaseTestCase;
use Cspray\DatabaseTestCase\LoadFixture;use Cspray\DatabaseTestCase\SingleRecordFixture;use PDO;
class MyDemoTest extends DatabaseTestCase {
// Generally speaking you shouldn't call this method yourself!
protected static function getConnectionAdapter() : ConnectionAdapter {
// Be sure to change these configuration values to match your test setup!
return new PdoConnectionAdapter(
new ConnectionAdapterConfig(
database: 'postgres',
host: 'localhost',
port: 5432,
user: 'postgres',
password: 'postgres'
),
PdoDriver::Postgresql
);
}
public function testUnderlyingConnection() : void {
// You'd pass the value of this method into your code under test
// Use a different ConnectionAdapter if you aren't working with PDO!
self::assertInstanceOf(PDO::class, self::getUnderlyingConnection());
}
public function testShowEmptyTable() : void {
// DatabaseTestCase provides a method to get a representation of a database table
$table = $this->getTable('my_table');
// The $table is Countable, the count represents the number of rows in the table
self::assertCount(0, $table);
// The $table is iterable, each iteration yields a Row, but our database is empty!
self::assertSame([], iterator_to_array($table));
}
// Pass any number of Fixture to have corresponding FixtureRecords inserted into
// the database before your test starts
#[LoadFixture(
new SingleRecordFixture('my_table', ['username' => 'cspray', 'email' => '[email protected]', 'is_active' => true]),
new SingleRecordFixture('my_table', ['username' => 'dyana', 'email' => '[email protected]', 'is_active' => true])
)]
public function testLoadingFixtures() : void {
$table = $this->getTable('my_table');
self::assertCount(2, $table);
self::assertContainsOnlyInstancesOf(Row::class, iterator_to_array($table));
self::assertSame('cspray', $table->getRow(0)->get('username'));
self::assertSame('[email protected]', $table->getRow(1)->get('email'));
self::assertNull($table->getRow(2));
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.