1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- namespace yiiunit\extensions\swiftmailer;
- use yii\helpers\ArrayHelper;
- 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' => $this->getVendorPath(),
- ], $config));
- }
- protected function getVendorPath()
- {
- $vendor = dirname(dirname(__DIR__)) . '/vendor';
- if (!is_dir($vendor)) {
- $vendor = dirname(dirname(dirname(dirname(__DIR__))));
- }
- return $vendor;
- }
- /**
- * Destroys application in Yii::$app by setting it to null.
- */
- protected function destroyApplication()
- {
- \Yii::$app = null;
- }
- }
|