Yii2 Codeception抛出为foreach提供的无效参数

问题描述

使用Codeception测试扩展yii \ base \ Model的类。

class MyModel extends yii\base\Model
{
   public function __construct($some_obj,$config = [])
       $this->_obj = $some_obj;
       parent::_construct($config);
   ...
}

在控制器中,代码简单明了。

public function actionCreate()
{
    $some_obj = new SomeClass();
    $model = new MyModel($some_obj);
    ...
}

在生产中,此代码运行良好,但是现在我使用Codeception为此类添加了一些测试。唯一的区别是,在测试中,我对注入的对象使用了存根。

public function testValidation()
{
    $some_obj = $this->makeEmpty(SomeClass::class);
    $model = new MyModel($some_obj);
    ...
}

问题是在测试中执行新的MyModel()时,会引发以下消息:

为foreach()提供的参数无效

发消息的模块是../vendor/yiisoft/yii2/base/Component.PHP。 foreach循环正在检查行为。我没有在MyModel中定义的行为。

有什么想法吗?预先感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...