0

在测试中,有没有办法临时覆盖Environment::get()扩展类中的返回值StaticObject

我正在为 Lithium 编写一个功能切换插件。我想根据环境测试打开和关闭功能。例如,该功能new_ui应该在暂存中打开,但在生产中关闭。

在我的测试中,我希望能够做这样的事情:

Features::add('new_ui', array('production' => false, 'staging' => true));
// Magic that makes Environment::get() in the Features class return 'staging'
$this->assertTrue(Feature::check('new_ui'));
// Magic that makes Environment::get() in the Features class return 'production'
$this->assertFalse(Feature::check('new_ui'));

我可能可以使用 a 来破解一些东西,MockEnvironment但是有没有更纯的锂方法来实现这一点?

4

1 回答 1

0

如果您正在编写测试,那么模拟将是正确的方法,或者是用于返回环境状态的可注入闭包。

于 2012-11-19T12:45:24.903 回答