Introduce test optimization
- Add static connection for whole tests - Introduce ExtendedPDO class to enable nested transactions - Add rollback logic for tests to ensure reliability and increase speed
This commit is contained in:
@@ -12,7 +12,9 @@ use Friendica\Core\Config;
|
||||
use Friendica\Core\PConfig;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\Database\Database;
|
||||
use Friendica\Network\HTTPException;
|
||||
use Friendica\Test\Util\Database\StaticDatabase;
|
||||
use Monolog\Handler\TestHandler;
|
||||
|
||||
require_once __DIR__ . '/../../include/api.php';
|
||||
@@ -47,13 +49,16 @@ class ApiTest extends DatabaseTest
|
||||
*/
|
||||
public function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
StaticDatabase::statRollback();
|
||||
|
||||
$dice = new Dice();
|
||||
$dice = $dice->addRules(include __DIR__ . '/../../static/dependencies.config.php');
|
||||
$dice = $dice->addRule(Database::class, ['instanceOf' => StaticDatabase::class, 'shared' => true]);
|
||||
BaseObject::setDependencyInjection($dice);
|
||||
$this->app = BaseObject::getApp();
|
||||
|
||||
parent::setUp();
|
||||
|
||||
$this->app->argc = 1;
|
||||
$this->app->argv = ['home'];
|
||||
|
||||
@@ -99,6 +104,11 @@ class ApiTest extends DatabaseTest
|
||||
Config::set('system', 'theme', 'system_theme');
|
||||
}
|
||||
|
||||
protected function tearDown()
|
||||
{
|
||||
StaticDatabase::statRollback();
|
||||
}
|
||||
|
||||
/**
|
||||
* Assert that an user array contains expected keys.
|
||||
* @param array $user User array
|
||||
|
||||
Reference in New Issue
Block a user