首页 > 解决方案 > 如何测试配置文件更改?

问题描述

我使用 file_put_content 编写了更改 config/app.php 中的值的函数。

    public function updateConfig($path, $key, $value)
    {
        $content = file_get_contents($path);
        $pattern = "/'" . $key . "' => '[0-9]+'/";
        $replacement = "'" . $key . "' => '" . $value . "'";
        $content = preg_replace($pattern, $replacement, $content);

        file_put_contents($path, $content);
    }
$path = base_path() . '/config/app.php';
$key = 'version_number';
$value = '10';
$service->updateConfig($path, $key, $value);
$this->assertEquals(config('app.version_number'), $value);

如何通过更改配置文件对其进行测试?

标签: laravelphpunit

解决方案


我想您想更改配置然后使用它。有一种方法可以在不编辑配置文件的情况下实现这一点。请注意,为了加快 Laravel 的速度,配置会被缓存,您需要运行php artisan clear:cache或手动删除缓存文件。

如果您想即时更改配置。使用前如图所示进行更改。

Config::set('app.version_number', 10);


推荐阅读