如何在验收测试中模拟Yii2组件行为?

时间:2016-06-02 04:41:45

标签: selenium testing yii2

我想使用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服务器从测试运行器运行的应用程序中的任意应用程序组件?

0 个答案:

没有答案