123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- namespace yiiunit\gii;
- use yii\di\Container;
- use yii\helpers\ArrayHelper;
- use Yii;
- /**
- * This is the base class for all yii framework unit tests.
- */
- abstract class TestCase extends \PHPUnit\Framework\TestCase
- {
- /**
- * Clean up after test.
- * By default the application created with [[mockApplication]] will be destroyed.
- */
- protected function tearDown()
- {
- parent::tearDown();
- $this->destroyApplication();
- }
- /**
- * Populates Yii::$app with a new application
- * The application will be destroyed on tearDown() automatically.
- * @param array $config The application configuration, if needed
- * @param string $appClass name of the application class to create
- */
- protected function mockApplication($config = [], $appClass = '\yii\console\Application')
- {
- new $appClass(ArrayHelper::merge([
- 'id' => 'testapp',
- 'basePath' => __DIR__,
- 'vendorPath' => dirname(__DIR__) . '/vendor',
- ], $config));
- }
- protected function mockWebApplication($config = [], $appClass = '\yii\web\Application')
- {
- new $appClass(ArrayHelper::merge([
- 'id' => 'testapp',
- 'basePath' => __DIR__,
- 'vendorPath' => dirname(__DIR__) . '/vendor',
- 'components' => [
- 'request' => [
- 'cookieValidationKey' => 'wefJDF8sfdsfSDefwqdxj9oq',
- 'scriptFile' => __DIR__ . '/index.php',
- 'scriptUrl' => '/index.php',
- ],
- ],
- ], $config));
- }
- /**
- * Destroys application in Yii::$app by setting it to null.
- */
- protected function destroyApplication()
- {
- Yii::$app = null;
- Yii::$container = new Container();
- }
- }
|