1 回答
TA贡献1845条经验 获得超8个赞
我在跑:
PHP 7.3.9
蛋糕PHP 2.10.16
PHPUnit 5.7.27
我通过模拟Session
和Auth
组件解决了这个问题。我在这样的测试中创建控制器setUp
:
<?php
App::uses('CakeSession', 'Model/Datasource');
class MyIntegrationTestCase extends ControllerTestCase
{
protected $ctrl;
public function setUp()
{
parent::setUp();
// https://api.cakephp.org/2.10/class-ControllerTestCase.html#_generate
$mocks = [
'components' => [
'Session',
'Auth',
]
];
$this->ctrl = $this->generate('Quotes', $mocks);
$user = [
'id' => 1,
'username' => 'alistaircol',
];
CakeSession::write('Auth.User', $user);
}
}
不能 100% 确定您是否需要Auth在项目中模拟组件,但没有这个我得到了 302。不知道这在我的项目中是否是非标准的。
此外,您可能需要使用--stderr会话标志运行测试才能正常工作。
- 1 回答
- 0 关注
- 122 浏览
添加回答
举报