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
が、これを達成するためのより純粋なリチウムの方法はありますか?