【发布时间】:2012-11-15 18:11:26
【问题描述】:
我正在为 CodeIgniter 编写一个库,在编写测试时,我需要检查当库或 CodeIgniter 的配置更改为我提供的各种选项时会发生什么。
最简单的方法似乎是使用Config class 即时获取和设置配置变量,它确实解决了问题。我只是不喜欢那个解决方案的外观。
在其他语言/框架中有什么等价物,可能面临的潜在问题是什么,以及如何完全避免所有这些?
【问题讨论】:
-
如果您的测试通过或失败取决于测试代码无法控制的因素,根据定义,这并不是真正的单元测试...
-
确实...也许我应该编写测试,以便在某某配置选项设置为某某时跳过特定测试。
-
理想情况下,您应该重做一些事情,以便可以随意切换那些可以更改的内容,以用于具有已知行为的测试对象。除了通过将测试代码与应用程序的其余部分隔离来使测试更加可靠之外,它还有助于提高代码的模块化程度(或者,原因?)。
标签: php unit-testing codeigniter