2016-11-16 44 views
1

我尝试使用Codeception测试我的代码,当我测试注销选项时,我的测试(包括功能和接受)都失败。由于它们是通过GET方法发送的,因此它们以“方法不允许(405)”失败。 我有这样的代码了导航控件内盒:当我点击用手链接Yii2方法不允许用Codeception进行测试

$menuItems[] = ['label' => 'Logout (' . Yii::$app->user->identity['username'] . ')', 
           'url' => ['/site/logout'], 
           'linkOptions' => ['data-method' => 'post'] 

此代码工作正常。在这种情况下,它们通过POST方法发送。 但是在测试时它不起作用。 它为什么会发生?

回答

1

为注销,您可以添加如下形式,这将使用POST

$menuItems[] = '<li>' 
     . Html::beginForm(['/site/logout'], 'post') 
     . Html::submitButton(
       'Logout ('.Yii::$app->user->identity['username'].')', ['class' => 'btn btn-link btnlogout'] 
     ) 
     . Html::endForm() 
     . '</li>'; 
+0

谢谢你发送请求!有用!所以在这种情况下,我们应该在表单标签中包含这个链接。 –

+0

是的正是.. !! –