可以从单元测试中更改应用程序配置吗?

时间:2012-11-15 18:11:26

标签: php unit-testing codeigniter

我正在为CodeIgniter编写一个库,在编写测试时,我需要检查当库或CodeIgniter的配置更改为我提供的各种选项时会发生什么。

最简单的方法似乎是使用Config class动态获取和设置配置变量,它确实解决了问题。我只是不喜欢那种解决方案的外观。

在其他语言/框架中,这有什么相同之处,可能面临的潜在问题是什么,以及如何完全避免这一切?

1 个答案:

答案 0 :(得分:0)

我不知道你的测试是什么,但我知道当我测试时(这是我工作过的大多数地方的政策,以及那些将他们的东西放在一起的那些)我试着确保我的所有输入都是控制和验证,因为我知道究竟发生了什么以及应该发生什么。

因此,对于您的具体情况,如果可能的话,我会生成一个“测试”配置文件并使用它,以便您确切知道究竟发生了什么以及应该发生什么。

编辑:更具体地回答你的问题,在我看来,我会说不能随时改变配置值。

为什么呢?因为如果出现问题并且您没有抓住它,突然您的配置值发生变化并被部署到生产并且...... BOOM 崩溃。显然是一个更糟糕的情况,但仍然