Browse Source

refactored TestCase.

tags/2.0.0-beta
Qiang Xue 11 years ago
parent
commit
3181964132
  1. 21
      extensions/yii/codeception/TestCase.php

21
extensions/yii/codeception/TestCase.php

@ -3,6 +3,7 @@
namespace yii\codeception;
use Yii;
use yii\base\InvalidConfigException;
/**
* TestCase is the base class for all codeception unit tests
@ -13,7 +14,8 @@ use Yii;
class TestCase extends \PHPUnit_Framework_TestCase
{
/**
* @var array the application configuration that will be used for creating an application instance for each test.
* @var array|string the application configuration that will be used for creating an application instance for each test.
* You can use a string to represent the file path or path alias of a configuration file.
*/
public static $appConfig = [];
/**
@ -21,6 +23,14 @@ class TestCase extends \PHPUnit_Framework_TestCase
*/
public static $appClass = 'yii\web\Application';
/**
* @inheritdoc
*/
protected function setUp()
{
parent::setUp();
$this->mockApplication();
}
/**
* @inheritdoc
@ -39,7 +49,14 @@ class TestCase extends \PHPUnit_Framework_TestCase
*/
protected function mockApplication($config = null)
{
return new static::$appClass($config === null ? static::$appConfig : $config);
$config = $config === null ? static::$appConfig : $config;
if (is_string($config)) {
$config = Yii::getAlias($config);
}
if (!is_array($config)) {
throw new InvalidConfigException('Please provide a configuration for creating application.');
}
return new static::$appClass($config);
}
/**

Loading…
Cancel
Save