💡 N°6658 Add more comments and since tags

This commit is contained in:
Pierre Goiffon
2023-08-31 15:29:34 +02:00
parent d130959692
commit 6ebcd44bb1
3 changed files with 20 additions and 8 deletions

View File

@@ -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

View File

@@ -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');

View File

@@ -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')) {