2012-01-28 17 views
0

コントローラ追加メソッド(CakePHP2.0)をテストしています。
しかし、問題は、私がポストとして送信するデータが、私のテストデータベースではなく私のデフォルトのデータベースに追加されることです。 コードを強調します。私は実際に私がdatabase.phpでではなく、デフォルトDBで構成されたテストDBへの掲載データトーゴことを期待していた何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); 
} 

+0

あなたはのconfig/database.phpでDATABASE_CONFIG $デフォルトを設定し、$テストとして? –

答えて

2

あなたがダブルチェックすることをお勧めしますCakePHPの2.0で発生することがテストのためのいくつかの要件があります

が設定/ database.phpでのあなたのデータベースコンフィグ設定が

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

として設定されていることを確認してくださいWebインターフェイスからテストを実行する場合、デバッグを少なくとも1に設定する必要があります。そうしないと、テストは実行されません。

また、http://localhost/your_app/test.phpと "AllConfigure"テストに移動して、CakePHPコアテストを実行することで、PHPUnitとテストデータベースの接続が正常に動作していることを検証できます。

CakePHPのブックからのすべての情報:http://book.cakephp.org/2.0/en/development/testing.html

+0

こんにちは、返信ありがとう、実際に私のテストケースが正しく実行されます。唯一の問題はコントローラの 'add'リクエストをテストするときです。エントリはデフォルトDBに入ります。私はセットアップ$テスト配列をドキュメントにしています。モデルの追加リクエストのテストケースは、デフォルトのDBには影響しません。 –

関連する問題