在使用Codeception进行测试时不允许使用Yii2方法
我尝试使用Codeception测试代码,当我测试注销选项时,我的测试(功能测试和验收测试)失败。它们因“不允许使用方法(405)”而失败,因为它们是通过GET方法发送的。 我在Nav窗口小部件中有这个现成的代码:在使用Codeception进行测试时不允许使用Yii2方法,yii2,codeception,Yii2,Codeception,我尝试使用Codeception测试代码,当我测试注销选项时,我的测试(功能测试和验收测试)失败。它们因“不允许使用方法(405)”而失败,因为它们是通过GET方法发送的。 我在Nav窗口小部件中有这个现成的代码: $menuItems[] = ['label' => 'Logout (' . Yii::$app->user->identity['username'] . ')', 'url' => ['/s
$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()
. '李>';
谢谢!它起作用了!所以在这种情况下,我们应该在表单标签中包含这个链接。