2012-01-28 2 views
0

컨트롤러 추가 테스트 방법 (CakePHP2.0)입니다.
하지만 문제는 내가 게시물로 보낸 데이터가 내 테스트 데이터베이스가 아닌 기본 데이터베이스에 추가된다는 것입니다. 코드를 가공합니다. CakePHP 테스트 컨트롤러 추가 편집

public function testAdd() { 
    $data = array(
    'Post' => array(
    'title' => 'Fourth Post Title', 
    'body' => 'Fourth Post Body', 
    'created' => '2012-01-22 21:31:52' 
    ) 
); 
    $result = $this->testAction('/posts/add', array('data' => $data, 'method', 'post')); 
    debug($result); 
} 

는 실제로 기다리고 있었다 무슨 내가 database.php에서 구성이 아닌 기본 DB에서 테스트 DB에 게시 된 데이터 토고.

+0

당신이 설정/database.php DATABASE_CONFIG $ 기본 설정으로하고 $ 테스트? –

답변

2

당신은 두 번 할 수 있습니다 CakePHP는 2.0에서 발생하는 시험에 대한 몇 가지 요구 사항이 있습니다 확인 :

설정/database.php에서 데이터베이스 구성 설정이

public $test = array(
    //Sample Test Settings Here 
); 

로 설정이되어 있는지 확인 웹 인터페이스에서 테스트를 실행하는 경우 디버그를 1 이상으로 설정해야합니다. 그렇지 않으면 테스트가 실행되지 않습니다.

http://localhost/your_app/test.php 및 "AllConfigure"테스트로 이동하여 CakePHP 핵심 테스트를 실행하여 PHPUnit 및 테스트 데이터베이스 연결이 제대로 작동하는지 확인할 수도 있습니다.

CakePHP의 책에서 모든 정보 : http://book.cakephp.org/2.0/en/development/testing.html

+0

답장을 보내 주셔서 감사합니다. 실제로 테스트 케이스가 제대로 실행됩니다. 유일한 문제는 컨트롤러가'add' 요청을 테스트 할 때 엔트리가 디폴트 DB로 들어가는 것입니다. 나는 $ testing 배열을 문서에 설치했다. 모델 추가 요청에 대한 내 테스트 사례가 기본 DB에 영향을 미치지 않습니다. –