在测试中,有没有办法临时覆盖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
但是有没有更纯的锂方法来实现这一点?