2014年5月6日火曜日

[CakePHP]外部サービスのAPIを使ったdatasourceのテスト

自分はAmazon AssociateのAPIを使ったデータソースを作った。
でもこのあたりのテストを書こうとしてたら問題がおこった。

MISSINGTABLEEXCEPTION

Table amazons for model Amazon was not found in datasource test.

こんなエラーが発生した。

以下を参考にしたら解決策がわかった。
[PHP] CakePHP の $useDbConfig にはまった(備忘録)
フィクスチャの作成

単純にdatabase.php内に作成したデータソースの接続設定に対応する設定を作ってあげればOKです。

例えば、database.php内に以下のようなデータソースの設定を追加したなら、

public $amazon = array(
  'datasource' => 'AmazonSource'
);


合わせてdatabase.php内に以下のようなデータソースを設定する必要があります。

public $test_amazon = array(
  'datasource' => 'AmazonSource'
);

変数名は上記のように、$test_[テストしたい設定名]にしなくてはなりません。
これで終わりです。fixtureを作成する必要もありません。
あとはテストを書くだけです。

0 件のコメント:

コメントを投稿