Laravel 如何测试配置文件更改?

Laravel 如何测试配置文件更改?,laravel,phpunit,Laravel,Phpunit,我编写了一个函数,它使用文件内容更改config/app.php中的值 public function updateConfig($path, $key, $value) { $content = file_get_contents($path); $pattern = "/'" . $key . "' => '[0-9]+'/"; $replacement = "'"

我编写了一个函数,它使用文件内容更改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);
    }

如何通过更改配置文件来测试它?

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

如果您想动态更改配置。如图所示进行更改,然后再使用


Config::set('app.version\u number',10)

我想在新版本发布时更新配置一次,然后使用它,例如用于bugsnag
$path = base_path() . '/config/app.php';
$key = 'version_number';
$value = '10';
$service->updateConfig($path, $key, $value);
$this->assertEquals(config('app.version_number'), $value);