我正在尝试使用dataProvider编写单元测试来测试控制器方法。
然而,$ this->内容始终返回null。 dataProvider是否可以在CakePHP的控制器测试用例中工作?
public function initValidateDataProvider() {
$data['Event']['event_type'] = 1;
$data['Event']['event_id'] = 1;
$data['Event']['year'] = date('Y');
$data['Event']['name'] = 'test';
$param[0] = $data;
$provider[0] = $param;
return $provider;
}
/**
* @dataProvider initValidateDataProvider
*
*/
public function testInitValidationAll($data) {
$this->testAction(
'/sb_organizers/events/init',array(
'return' => 'contents',
'data' => $data,
'method' => 'POST'
)
);
debug($this->contents);
}
调试($这 - >内容);总是返回null。
但如果我在没有dataProvider的情况下运行它:
public function testInitValidateAll() {
$data['Event']['event_type'] = '';
$data['Event']['etag_id'] = 0;
$data['Event']['year'] = '';
$data['Event']['name'] = '';
$this->testAction(
'/sb_organizers/events/init',array(
'return' => 'contents',
'data'=>$data
)
);
debug($this->contents);
}
工作正常。 dataProvider是否可以在CakePHP的控制器测试用例中运行?我怀疑它是$ this-> testAction不能与dataProvider一起使用。