2012-04-04 24 views
0

現時点では、システム内のいくつかの機能をデバッグして、機能しているかどうかを判断する必要があります。特定のテーブルに影響を受けていないテスト

基本的には、私がコードを出し入れできないようにするelses CakePHP構造体が残っているという状況です。これは時間の不足と文書化の不足によるものです。

私はこのシステムでテストを実行する必要がありますが、新しい注文などを作成すると、レポートページに間違ったデータが表示されます。これは許可されておらず、基本的に、単にレポートを作成するだけで、他の行

ここで最も簡単な解決策は、特定のユーザーとしてログインしている場合にレポート行を作成しないことです。次に、単に条件を実行して、データベースにレポート行を挿入するかどうかを決定します。 (if ($bool_tester) return FALSE; else /* Insert data */
しかし、これはモデル内でセッションデータを取得する必要があります。私が読んだことは悪い解決策です。関数内で余分なパラメータを実行するだけでは、関数が非常に多くのファイルの多くの場所で呼び出されるため、単純に実行することはできません。

私の質問は基本的です。私はセッションデータをモデルに含めるべきか、あるいはテスト中にこれらの行を挿入しないようにするための他の素晴らしいソリューションがありますか?

コントローラを介してセッション値を定義することは、ここでは円滑な解決策ではありません。

答えて

2

ライブサイトではなく、開発環境でテストしてください。

+0

何も持っておらず、時間のために使用することに慣れていない。テスト環境にすべての構造をコピーした場合、テスト環境で試したことを実際のサイトに更新することを忘れてしまい、エラーが増えると思います。 –

+0

テスト環境を持たないことは、時間をかけずに圧力をかけることはありません。非常に偽の経済。効果的なものを設定することは初期のヒットですが、あなたが選んだルートは何の有効なテストでもありません。テストモードでしか動作しないコードを追加すると、実際のコードではなくテストされます。弾丸を噛んで、それに投資し、生きているシステムを危険にさらすことなく、何か間違ったことを心配することなく、生きているシステムを破壊するだけで返済します。 –

+0

テスト環境の使用は静かないくつかの要因に依存します。最も重要なのはPHPの設定です(あなたがCakePHPを使っているという事実に基づいています)。テスト環境に最適な場所は、ライブアプリケーションと同じサーバー上にあります。ライブバージョンとテストバージョンを維持し、環境へのシンボリックリンクを使用して、テスト環境をライブ環境に切り替えることができます。 – Bearwulf

1

テスト用に単体テストを使用していますか? CakePHP does support that。あなたがいるときは、あなたのテスト内の設定内のデータをstub or mockにすることができます。 Cake also supports that.

+0

なぜか分かりませんが、CakePHPのドキュメントを理解するのは難しいです。 –