با سلام
ما بعد از ایجاد کلاس Config با اضاف کردن این 3 خط پایین همین کلاس میتونیم همینجا تستش کنیم و نتایج تست هم سریعا داخل ترمینال ببینیم
print_r(Config::get('dummy'));
print_r(Config::get('database'));
print_r(Config::get('database','pdo'));
و حالا اگه بخواییم طبق اصول تست و phpunit پیش بریم حداقل کار اینه که باید یه کلاس تعریف کنیم به نام ConfigTest.php به شکل زیر
namespace Test\\Unit;
use App\\Exceptions\\ConfigFileNotFoundException;
use App\\Helpers\\Config;
use PHPUnit\\Framework\\TestCase;
class ConfigTest extends TestCase{
public function testGetFileContentsReturnsArray(){
$config = Config::getFileContents('database');
$this->assertIsArray($config);
}
public function testThrowsExceptionIfFileNotFound(){
$this ->expectException(ConfigFileNotFoundException::class);
$config = Config::getFileContents('dummy');
}
public function testGetMethodReturnValidData(){
$config = Config::get('database','pdo');
$expectedData = [
'driver' =>'mysql',
'host' =>'localhost',
'database' =>'bug_tracker',
'db_user' =>'root',
'db_password' =>'123456'
];
$this->assertEquals($config,$expectedData);
}
}
حالا سوال ؟؟؟ ...وقتی با سه تا خط همونجا میتونستیم کانفیگ رو تست کنیم چه کاری بود که اینقدر تنظیمات و کلاسهای مختلف تعریف کنیم ؟؟؟؟؟