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.
51 lines
1.3 KiB
51 lines
1.3 KiB
10 years ago
|
<?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;
|
||
|
}
|
||
|
}
|