【发布时间】:2020-02-20 11:22:12
【问题描述】:
我正在为我们使用 cakephp 2.x 版本实现的应用程序实现控制器测试用例。
到目前为止,我有 2 个测试用例,并计划做更多。但是,我在第二个测试用例中堆叠并收到失败消息。如果我注释掉第一个测试用例并为第二个测试用例运行它,我得到了预期的结果。唯一的事情是,如果我有两个测试用例,第二个测试用例总是失败。这是我的代码的代码 sn-p。
我的运行命令是./cake test --stderr app Controller/EventsController,得到的错误信息是Undefined index: HTTP_HOST
我知道一个有点奇怪的情况,注释掉第一个测试用例并且永远不会得到这个错误并成功通过第二个测试用例。感谢您的建议和想法。太感谢了。
App::uses('EventsController', 'Controller');
App::uses('UsersController', 'Controller');
class EventsControllerTest extends ControllerTestCase {
public function setUp(){
$this->testAction('/users/login/',[
'method' => 'POST',
'data' => [
'User' => [
'username'=> 'bk.ll@llmail.com',
'password'=> '123456',
'clientType'=>'llWeb'
]
]
]);
parent::setUp();
}
public function testEvents(){
$this->testAction('/admin/events/');
$this->assertInternalType('array', $this->vars['organisations']);
$this->assertInternalType('string', $this->vars['userRole']);
$this->assertInternalType('array', $this->vars['dutyRosterObj']);
$this->assertInternalType('string', $this->vars['date']);
$this->assertInternalType('boolean', $this->vars['isKkCdlc']);
}
public function testEventsList(){
$this->testAction('/admin/events/list/');
$this->assertInternalType('array', $this->vars['events']);
$this->assertInternalType('array', $this->vars['organisations']);
$this->assertInternalType('boolean', $this->vars['demoForSchool']);
$this->assertInternalType('integer', $this->vars['offset']);
}
}
【问题讨论】:
标签: php cakephp testcase phpunit