我想使用Selenium测试我的应用程序行为。但是我希望可以从测试运行器中模拟Yii::$app
组件行为?
我们说我有一个班级
Foo extends \yii\base\Component {
public function bar() {
//return something
}
}
在配置中,我将Yii::$app
组件附加为Yii::$app->foo
。
[
'foo' => [
'class' => 'Foo',
]
]
因此,验收测试通过运行Web服务器来运行,测试运行器将针对Web服务器运行Selenium。
在测试运行器中,我想模拟Yii::$app->foo->bar()
方法,以便它返回一些字符串。
通常当它来自数据库时,我们可以使用Fixture进行模拟。测试运行器将使用我们设置的fixture填充数据库,然后应用程序组件将从该数据库中读取。
我应该如何模拟Web服务器从测试运行器运行的应用程序中的任意应用程序组件?