CakePHP控制器中的PHPUnit dataProvider

时间:2014-06-13 10:43:21

标签: phpunit

我正在尝试使用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一起使用。

0 个答案:

没有答案