From 928a30588d942bc08534be9a7d1eb4b71eb30098 Mon Sep 17 00:00:00 2001 From: Klimov Paul Date: Thu, 13 Apr 2017 17:00:59 +0300 Subject: [PATCH] memory usage at unit test reduced --- tests/TestCase.php | 11 +++++++++++ tests/framework/base/ComponentTest.php | 2 ++ tests/framework/di/ContainerTest.php | 6 ++++++ tests/framework/di/InstanceTest.php | 12 +++++++++--- tests/framework/di/ServiceLocatorTest.php | 8 ++++---- tests/framework/filters/AccessRuleTest.php | 7 +++---- tests/framework/filters/HttpCacheTest.php | 8 ++++---- 7 files changed, 39 insertions(+), 15 deletions(-) diff --git a/tests/TestCase.php b/tests/TestCase.php index 45310f4..829be9f 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -2,6 +2,7 @@ namespace yiiunit; +use Yii; use yii\helpers\ArrayHelper; /** @@ -12,6 +13,16 @@ abstract class TestCase extends \PHPUnit\Framework\TestCase public static $params; /** + * Clean up after test case. + */ + public static function tearDownAfterClass() + { + parent::tearDownAfterClass(); + $logger = Yii::getLogger(); + $logger->flush(); + } + + /** * Returns a test configuration param from /data/config.php * @param string $name params name * @param mixed $default default value to use when param is not set. diff --git a/tests/framework/base/ComponentTest.php b/tests/framework/base/ComponentTest.php index dc01e91..b535891 100644 --- a/tests/framework/base/ComponentTest.php +++ b/tests/framework/base/ComponentTest.php @@ -38,6 +38,8 @@ class ComponentTest extends TestCase { parent::tearDown(); $this->component = null; + gc_enable(); + gc_collect_cycles(); } public function testClone() diff --git a/tests/framework/di/ContainerTest.php b/tests/framework/di/ContainerTest.php index 211d336..9655ef2 100644 --- a/tests/framework/di/ContainerTest.php +++ b/tests/framework/di/ContainerTest.php @@ -28,6 +28,12 @@ use yii\validators\NumberValidator; */ class ContainerTest extends TestCase { + protected function tearDown() + { + parent::tearDown(); + Yii::$container = new Container(); + } + public function testDefault() { $namespace = __NAMESPACE__ . '\stubs'; diff --git a/tests/framework/di/InstanceTest.php b/tests/framework/di/InstanceTest.php index 13b383f..3e673dd 100644 --- a/tests/framework/di/InstanceTest.php +++ b/tests/framework/di/InstanceTest.php @@ -21,9 +21,15 @@ use yiiunit\TestCase; */ class InstanceTest extends TestCase { + protected function tearDown() + { + parent::tearDown(); + Yii::$container = new Container(); + } + public function testOf() { - $container = new Container; + $container = new Container(); $className = Component::className(); $instance = Instance::of($className); @@ -35,7 +41,7 @@ class InstanceTest extends TestCase public function testEnsure() { - $container = new Container; + $container = new Container(); $container->set('db', [ 'class' => 'yii\db\Connection', 'dsn' => 'test', @@ -70,7 +76,7 @@ class InstanceTest extends TestCase public function testEnsure_WithoutType() { - $container = new Container; + $container = new Container(); $container->set('db', [ 'class' => 'yii\db\Connection', 'dsn' => 'test', diff --git a/tests/framework/di/ServiceLocatorTest.php b/tests/framework/di/ServiceLocatorTest.php index 0e8411b..36766b7 100644 --- a/tests/framework/di/ServiceLocatorTest.php +++ b/tests/framework/di/ServiceLocatorTest.php @@ -35,7 +35,7 @@ class ServiceLocatorTest extends TestCase public function testCallable() { // anonymous function - $container = new ServiceLocator; + $container = new ServiceLocator(); $className = TestClass::className(); $container->set($className, function () { return new TestClass([ @@ -49,7 +49,7 @@ class ServiceLocatorTest extends TestCase $this->assertEquals(200, $object->prop2); // static method - $container = new ServiceLocator; + $container = new ServiceLocator(); $className = TestClass::className(); $container->set($className, [__NAMESPACE__ . "\\Creator", 'create']); $object = $container->get($className); @@ -60,7 +60,7 @@ class ServiceLocatorTest extends TestCase public function testObject() { - $object = new TestClass; + $object = new TestClass(); $className = TestClass::className(); $container = new ServiceLocator; $container->set($className, $object); @@ -70,7 +70,7 @@ class ServiceLocatorTest extends TestCase public function testShared() { // with configuration: shared - $container = new ServiceLocator; + $container = new ServiceLocator(); $className = TestClass::className(); $container->set($className, [ 'class' => $className, diff --git a/tests/framework/filters/AccessRuleTest.php b/tests/framework/filters/AccessRuleTest.php index 5e5cef0..57e67ac 100644 --- a/tests/framework/filters/AccessRuleTest.php +++ b/tests/framework/filters/AccessRuleTest.php @@ -67,9 +67,10 @@ class AccessRuleTest extends \yiiunit\TestCase } /** - * @return BaseManager + * @return \yii\rbac\BaseManager */ - protected function mockAuthManager() { + protected function mockAuthManager() + { $auth = new MockAuthManager(); // add "createPost" permission $createPost = $auth->createPermission('createPost'); @@ -180,7 +181,6 @@ class AccessRuleTest extends \yiiunit\TestCase $this->assertEquals($expected, $rule->allows($action, $user, $request)); } - public function testMatchVerb() { $action = $this->mockAction(); @@ -334,5 +334,4 @@ class AccessRuleTest extends \yiiunit\TestCase $rule->allow = false; $this->assertNull($rule->allows($action, $user, $request)); } - } diff --git a/tests/framework/filters/HttpCacheTest.php b/tests/framework/filters/HttpCacheTest.php index deafe97..46a05df 100644 --- a/tests/framework/filters/HttpCacheTest.php +++ b/tests/framework/filters/HttpCacheTest.php @@ -22,7 +22,7 @@ class HttpCacheTest extends \yiiunit\TestCase public function testDisabled() { - $httpCache = new HttpCache; + $httpCache = new HttpCache(); $this->assertTrue($httpCache->beforeAction(null)); $httpCache->enabled=false; $this->assertTrue($httpCache->beforeAction(null)); @@ -30,7 +30,7 @@ class HttpCacheTest extends \yiiunit\TestCase public function testEmptyPragma() { - $httpCache = new HttpCache; + $httpCache = new HttpCache(); $httpCache->etagSeed = function($action, $params) { return ''; }; @@ -45,7 +45,7 @@ class HttpCacheTest extends \yiiunit\TestCase */ public function testValidateCache() { - $httpCache = new HttpCache; + $httpCache = new HttpCache(); $method = new \ReflectionMethod($httpCache, 'validateCache'); $method->setAccessible(true); @@ -75,7 +75,7 @@ class HttpCacheTest extends \yiiunit\TestCase */ public function testGenerateEtag() { - $httpCache = new HttpCache; + $httpCache = new HttpCache(); $httpCache->weakEtag = false; $httpCache->etagSeed = function($action, $params) {