2011-02-01 9 views
1

DB接続設定のiniファイルがあります。私は、インストーラを作成しに助けを必要としています:エラーが発生したiniファイル内Zend Frameworkでdb接続の設定をテストするにはどうすればよいですか?

  1. テストDB接続設定を(間違ったユーザー/パスまたはDBを選択することはできません)
  2. 挿入デシベル構造.sqlファイルを使用しました。

これはZFで可能ですか、私はどこにも情報を見つけることができません。私は直接クエリを使用してこれを行う必要がありますか?

ありがとうございます!

+1

「私は奨励金を追加するまで2日間回答が欲しくない」と言っている別の方法です。あなたの質問に答えてください。あなたが良い答えを得られないならば、あなたは賞金を追加することができます。 – Gareth

+0

質問に対する答えはなんですか?私は実際に質問がこのサイトで答えられるかどうか疑問に思いますか?初心者フレンドリー?LOL私はそうは思わない。 –

+0

とにかく、私はあなたのポイントを参照して、私は質問を編集しました。ちょうど1 + 1のような単純なものでなければ、私は通常ここで答えを2日待たなければならないので、いくつかの回答を得ようとしていますか?どのような場合には、十分に具体的でないために閉鎖されるでしょう。このサイトは私を狂ってしまうでしょう! –

答えて

2

単体テストでは、を確認するtry/catchの中で$adapter->getConnect()と呼ばれる可能性があります。そのサブクラスは失敗した接続でスローされます。 catchでは、$this->fail()に電話して、失敗したテストを通知することができます。

しかし、通常は、APPLICATION_ENV = 'testing'の場合とは異なるAPPLICATION_ENVの場合とは異なるdb接続パラメータが設定されます。だからこの意味で、私は@jakenobleと一緒です。これは、デプロイメントの問題よりも単体テストの問題に似ていません。そのため、コマンドラインスクリプトには、メインアプリケーションと同じブートストラップを使用するものであっても、何らかのコマンドラインスクリプトが適切かもしれません。

0

これはZF固有ではないため、ZFで達成する必要があるものではありません。 ZFにはMightExistというデータベース・アダプターはありません。ユーザー名またはパスワードが間違っていると、ZFはエラーになり、どこにもいなくなります。

まずは展開の問題ですか、テストの問題ですか?

デプロイメントの問題であれば、自動的にコードをデプロイするための何かが必要です(おそらくbashスクリプトですか?これは、ZFにまったく頼ることなく、データベース内のユーザーをチェックすることができます。 bashスクリプトは、.sqlファイルをインポートしてデータベースを設定することもできます。

テストの問題の場合、それはすべて一緒に異なる。 PHPUnitのようなものを使用して、ユーザーとそのパスワードの存在をテストし、.sqlファイルを使用してデータを挿入しない場合はそのデータが存在することを確認する必要があります。

3

$db->getConnection()を追加して接続し、エラーが発生した場合はエラーをキャッチします。

try { 
    $db->getConnection(); 
} catch(Exception $e) { 
    print_r($e->getMessage()); 
    die; 
} 
+0

http://stackoverflow.com/questions/13642275/zend-framework-2-base-path-access-in-controller –

関連する問題