mirror of
https://github.com/friendica/friendica
synced 2025-04-27 05:10:10 +00:00
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:
parent
07aaf292ec
commit
37d03bbeae
5 changed files with 246 additions and 50 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue