laravel - 如何测试配置文件更改?
问题描述
我使用 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);
如何通过更改配置文件对其进行测试?
解决方案
我想您想更改配置然后使用它。有一种方法可以在不编辑配置文件的情况下实现这一点。请注意,为了加快 Laravel 的速度,配置会被缓存,您需要运行php artisan clear:cache
或手动删除缓存文件。
如果您想即时更改配置。使用前如图所示进行更改。
Config::set('app.version_number', 10);
推荐阅读
- python - Google Cloud Scheduler API 创建 Cloud Function
- maven - 仅在不包含本地解决方案的情况下,Maven 执行器依赖收敛?
- python - 无法安装 pdftotext
- python - 在 PyTorch 中为模型状态字典添加一个层
- c# - 用于数据模型的 INotifyPropertyChanged 和 INotifyCollectionChanged
- python - 如何从 pandas 数据框创建 .txt 文件?
- shell - Cron 将 stdout 和 stderr 重定向到不同的文件
- c# - 将项目添加到 ImmutableList
在 ImmutableDictionary 中 - wordpress - WordPress 导出返回一个空的 CSV
- java - Keycloack 是一个 MessageDigestPasswordEncoder sha512 存在吗?