Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用Codeception进行测试时不允许使用Yii2方法_Yii2_Codeception - Fatal编程技术网

在使用Codeception进行测试时不允许使用Yii2方法

在使用Codeception进行测试时不允许使用Yii2方法,yii2,codeception,Yii2,Codeception,我尝试使用Codeception测试代码,当我测试注销选项时,我的测试(功能测试和验收测试)失败。它们因“不允许使用方法(405)”而失败,因为它们是通过GET方法发送的。 我在Nav窗口小部件中有这个现成的代码: $menuItems[] = ['label' => 'Logout (' . Yii::$app->user->identity['username'] . ')', 'url' => ['/s

我尝试使用Codeception测试代码,当我测试注销选项时,我的测试(功能测试和验收测试)失败。它们因“不允许使用方法(405)”而失败,因为它们是通过GET方法发送的。 我在Nav窗口小部件中有这个现成的代码:

$menuItems[] = ['label' => 'Logout (' . Yii::$app->user->identity['username'] . ')',
                                'url' => ['/site/logout'],
                                'linkOptions' => ['data-method' => 'post']
当我手动单击链接时,此代码工作正常。在这种情况下,它们是通过邮寄方式发送的。 但在测试时它不起作用。
为什么会发生这种情况?

对于注销,您可以添加如下表单,该表单将使用
POST

$menuItems[] = '<li>'
        . Html::beginForm(['/site/logout'], 'post')
        . Html::submitButton(
                'Logout ('.Yii::$app->user->identity['username'].')', ['class' => 'btn btn-link btnlogout']
        )
        . Html::endForm()
        . '</li>';
$menuItems[]='
  • ' . Html::beginForm(['/site/logout'],'post') . Html::submitButton( '注销('.Yii::$app->user->identity['username'].'),['class'=>'btn btn link btnlogout'] ) . Html::endForm() . '';
  • 谢谢!它起作用了!所以在这种情况下,我们应该在表单标签中包含这个链接。