You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.3 KiB
50 lines
1.3 KiB
<?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; |
|
} |
|
}
|
|
|