mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
💡 N°6658 Add more comments and since tags
This commit is contained in:
@@ -87,6 +87,10 @@ Add annotation `@runInSeparateProcess`
|
||||
Each and every test case will run in a separate
|
||||
process.
|
||||
|
||||
Note : before N°6658 (3.0.4 / 3.1.1 / 3.2.0) we were also adding the `@backupGlobals disabled`
|
||||
and `@preserveGlobalState disabled` annotations. This is no longer necessary as the first has this default value
|
||||
already, and the second one is now set in iTopTestCase as a PHP class attribute.
|
||||
|
||||
#### At the test class level
|
||||
Add annotation `@runTestsInSeparateProcesses`
|
||||
Each and every test case in the class will run in a separate
|
||||
|
||||
@@ -16,7 +16,6 @@ namespace Combodo\iTop\Test\UnitTest;
|
||||
use ArchivedObjectException;
|
||||
use CMDBObject;
|
||||
use CMDBSource;
|
||||
use Config;
|
||||
use Contact;
|
||||
use DBObject;
|
||||
use DBObjectSet;
|
||||
@@ -31,7 +30,6 @@ use lnkFunctionalCIToTicket;
|
||||
use MetaModel;
|
||||
use Person;
|
||||
use Server;
|
||||
use SetupUtils;
|
||||
use TagSetFieldData;
|
||||
use Ticket;
|
||||
use URP_UserProfile;
|
||||
@@ -53,6 +51,7 @@ define('TAG_ATTCODE', 'domains');
|
||||
*
|
||||
* @since 2.7.7 3.0.1 3.1.0 N°4624 processIsolation is disabled by default and must be enabled in each test needing it (basically all tests using
|
||||
* iTop datamodel)
|
||||
* @since 3.0.4 3.1.1 3.2.0 N°6658 move some setUp/tearDown code to the corresponding methods *BeforeClass to speed up tests process time.
|
||||
*/
|
||||
abstract class ItopDataTestCase extends ItopTestCase
|
||||
{
|
||||
@@ -911,6 +910,9 @@ abstract class ItopDataTestCase extends ItopTestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 3.0.4 3.1.1 3.2.0 N°6658 method creation
|
||||
*/
|
||||
protected function assertDBChangeOpCount(string $sClass, $iId, int $iExpectedCount)
|
||||
{
|
||||
$oSearch = new \DBObjectSearch('CMDBChangeOp');
|
||||
|
||||
@@ -14,12 +14,9 @@ use SetupUtils;
|
||||
define('DEBUG_UNIT_TEST', true);
|
||||
|
||||
/**
|
||||
* Class ItopTestCase
|
||||
*
|
||||
* Helper class to extend for tests that DO NOT need to access the DataModel or the Database
|
||||
*
|
||||
* @author Eric Espie <eric.espie@combodo.com>
|
||||
* @package Combodo\iTop\Test\UnitTest
|
||||
* @since 3.0.4 3.1.1 3.2.0 N°6658 move some setUp/tearDown code to the corresponding methods *BeforeClass to speed up tests process time.
|
||||
*/
|
||||
abstract class ItopTestCase extends TestCase
|
||||
{
|
||||
@@ -27,7 +24,10 @@ abstract class ItopTestCase extends TestCase
|
||||
public static $DEBUG_UNIT_TEST = false;
|
||||
|
||||
/**
|
||||
* Override the default value to disable the backup of globals in case of tests run in a separate process
|
||||
* @link https://docs.phpunit.de/en/9.6/annotations.html#preserveglobalstate PHPUnit `preserveGlobalState` annotation documentation
|
||||
*
|
||||
* @since 3.0.4 3.1.1 3.2.0 N°6658 Override default value creation so that we don't need to add the annotation on each test classes that have runInSeparateProcess.
|
||||
* This parameter isn't used when test is run in the same process so ok to change it globally !
|
||||
*/
|
||||
protected $preserveGlobalState = false;
|
||||
|
||||
@@ -78,7 +78,9 @@ abstract class ItopTestCase extends TestCase
|
||||
|
||||
/**
|
||||
* @throws \MySQLTransactionNotClosedException see N°5538
|
||||
*
|
||||
* @since 2.7.8 3.0.3 3.1.0 N°5538
|
||||
* @since 3.0.4 3.1.1 3.2.0 N°6658 if transaction not closed, we are now doing a rollback
|
||||
*/
|
||||
protected function tearDown(): void
|
||||
{
|
||||
@@ -94,7 +96,11 @@ abstract class ItopTestCase extends TestCase
|
||||
}
|
||||
}
|
||||
|
||||
/** Helper than can be called in the context of a data provider */
|
||||
/**
|
||||
* Helper than can be called in the context of a data provider
|
||||
*
|
||||
* @since 3.0.4 3.1.1 3.2.0 N°6658 method creation
|
||||
*/
|
||||
public static function GetAppRoot()
|
||||
{
|
||||
if (defined('APPROOT')) {
|
||||
|
||||
Reference in New Issue
Block a user