Browse Source

memory usage at unit test reduced

tags/2.0.12
Klimov Paul 8 years ago
parent
commit
928a30588d
  1. 11
      tests/TestCase.php
  2. 2
      tests/framework/base/ComponentTest.php
  3. 6
      tests/framework/di/ContainerTest.php
  4. 12
      tests/framework/di/InstanceTest.php
  5. 8
      tests/framework/di/ServiceLocatorTest.php
  6. 7
      tests/framework/filters/AccessRuleTest.php
  7. 8
      tests/framework/filters/HttpCacheTest.php

11
tests/TestCase.php

@ -2,6 +2,7 @@
namespace yiiunit; namespace yiiunit;
use Yii;
use yii\helpers\ArrayHelper; use yii\helpers\ArrayHelper;
/** /**
@ -12,6 +13,16 @@ abstract class TestCase extends \PHPUnit\Framework\TestCase
public static $params; 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 * Returns a test configuration param from /data/config.php
* @param string $name params name * @param string $name params name
* @param mixed $default default value to use when param is not set. * @param mixed $default default value to use when param is not set.

2
tests/framework/base/ComponentTest.php

@ -38,6 +38,8 @@ class ComponentTest extends TestCase
{ {
parent::tearDown(); parent::tearDown();
$this->component = null; $this->component = null;
gc_enable();
gc_collect_cycles();
} }
public function testClone() public function testClone()

6
tests/framework/di/ContainerTest.php

@ -28,6 +28,12 @@ use yii\validators\NumberValidator;
*/ */
class ContainerTest extends TestCase class ContainerTest extends TestCase
{ {
protected function tearDown()
{
parent::tearDown();
Yii::$container = new Container();
}
public function testDefault() public function testDefault()
{ {
$namespace = __NAMESPACE__ . '\stubs'; $namespace = __NAMESPACE__ . '\stubs';

12
tests/framework/di/InstanceTest.php

@ -21,9 +21,15 @@ use yiiunit\TestCase;
*/ */
class InstanceTest extends TestCase class InstanceTest extends TestCase
{ {
protected function tearDown()
{
parent::tearDown();
Yii::$container = new Container();
}
public function testOf() public function testOf()
{ {
$container = new Container; $container = new Container();
$className = Component::className(); $className = Component::className();
$instance = Instance::of($className); $instance = Instance::of($className);
@ -35,7 +41,7 @@ class InstanceTest extends TestCase
public function testEnsure() public function testEnsure()
{ {
$container = new Container; $container = new Container();
$container->set('db', [ $container->set('db', [
'class' => 'yii\db\Connection', 'class' => 'yii\db\Connection',
'dsn' => 'test', 'dsn' => 'test',
@ -70,7 +76,7 @@ class InstanceTest extends TestCase
public function testEnsure_WithoutType() public function testEnsure_WithoutType()
{ {
$container = new Container; $container = new Container();
$container->set('db', [ $container->set('db', [
'class' => 'yii\db\Connection', 'class' => 'yii\db\Connection',
'dsn' => 'test', 'dsn' => 'test',

8
tests/framework/di/ServiceLocatorTest.php

@ -35,7 +35,7 @@ class ServiceLocatorTest extends TestCase
public function testCallable() public function testCallable()
{ {
// anonymous function // anonymous function
$container = new ServiceLocator; $container = new ServiceLocator();
$className = TestClass::className(); $className = TestClass::className();
$container->set($className, function () { $container->set($className, function () {
return new TestClass([ return new TestClass([
@ -49,7 +49,7 @@ class ServiceLocatorTest extends TestCase
$this->assertEquals(200, $object->prop2); $this->assertEquals(200, $object->prop2);
// static method // static method
$container = new ServiceLocator; $container = new ServiceLocator();
$className = TestClass::className(); $className = TestClass::className();
$container->set($className, [__NAMESPACE__ . "\\Creator", 'create']); $container->set($className, [__NAMESPACE__ . "\\Creator", 'create']);
$object = $container->get($className); $object = $container->get($className);
@ -60,7 +60,7 @@ class ServiceLocatorTest extends TestCase
public function testObject() public function testObject()
{ {
$object = new TestClass; $object = new TestClass();
$className = TestClass::className(); $className = TestClass::className();
$container = new ServiceLocator; $container = new ServiceLocator;
$container->set($className, $object); $container->set($className, $object);
@ -70,7 +70,7 @@ class ServiceLocatorTest extends TestCase
public function testShared() public function testShared()
{ {
// with configuration: shared // with configuration: shared
$container = new ServiceLocator; $container = new ServiceLocator();
$className = TestClass::className(); $className = TestClass::className();
$container->set($className, [ $container->set($className, [
'class' => $className, 'class' => $className,

7
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(); $auth = new MockAuthManager();
// add "createPost" permission // add "createPost" permission
$createPost = $auth->createPermission('createPost'); $createPost = $auth->createPermission('createPost');
@ -180,7 +181,6 @@ class AccessRuleTest extends \yiiunit\TestCase
$this->assertEquals($expected, $rule->allows($action, $user, $request)); $this->assertEquals($expected, $rule->allows($action, $user, $request));
} }
public function testMatchVerb() public function testMatchVerb()
{ {
$action = $this->mockAction(); $action = $this->mockAction();
@ -334,5 +334,4 @@ class AccessRuleTest extends \yiiunit\TestCase
$rule->allow = false; $rule->allow = false;
$this->assertNull($rule->allows($action, $user, $request)); $this->assertNull($rule->allows($action, $user, $request));
} }
} }

8
tests/framework/filters/HttpCacheTest.php

@ -22,7 +22,7 @@ class HttpCacheTest extends \yiiunit\TestCase
public function testDisabled() public function testDisabled()
{ {
$httpCache = new HttpCache; $httpCache = new HttpCache();
$this->assertTrue($httpCache->beforeAction(null)); $this->assertTrue($httpCache->beforeAction(null));
$httpCache->enabled=false; $httpCache->enabled=false;
$this->assertTrue($httpCache->beforeAction(null)); $this->assertTrue($httpCache->beforeAction(null));
@ -30,7 +30,7 @@ class HttpCacheTest extends \yiiunit\TestCase
public function testEmptyPragma() public function testEmptyPragma()
{ {
$httpCache = new HttpCache; $httpCache = new HttpCache();
$httpCache->etagSeed = function($action, $params) { $httpCache->etagSeed = function($action, $params) {
return ''; return '';
}; };
@ -45,7 +45,7 @@ class HttpCacheTest extends \yiiunit\TestCase
*/ */
public function testValidateCache() public function testValidateCache()
{ {
$httpCache = new HttpCache; $httpCache = new HttpCache();
$method = new \ReflectionMethod($httpCache, 'validateCache'); $method = new \ReflectionMethod($httpCache, 'validateCache');
$method->setAccessible(true); $method->setAccessible(true);
@ -75,7 +75,7 @@ class HttpCacheTest extends \yiiunit\TestCase
*/ */
public function testGenerateEtag() public function testGenerateEtag()
{ {
$httpCache = new HttpCache; $httpCache = new HttpCache();
$httpCache->weakEtag = false; $httpCache->weakEtag = false;
$httpCache->etagSeed = function($action, $params) { $httpCache->etagSeed = function($action, $params) {

Loading…
Cancel
Save