9

私は CakePHP 2.3 を使用しており、テスト駆動開発 (TDD) を使用して CakePHP Web サイトを適切に構築する方法を知りたいと考えています。テストに関する公式ドキュメントを読み、 Mark Story のTesting CakePHP Controllers を難しい方法で読み、Mark Story のWin at life with Unit testing (スライドの PDF ) を見ましたが、まだ混乱しています。私はどの言語でもテストを書くのが得意ではなく、経験もあまりないことに注意してください。それが私の混乱の原因になっている可能性があります。

TDD を使用して CakePHP Web サイトを構築する方法について、コード例を使用して段階的に説明したいと思います。TDD に関する記事や、CakePHP を使用したテストに関する記事がありますが、両方に関する詳細な記事をまだ見つけていません。プロセス全体を通して私の手を握るものが欲しいです。私のGoogle-fuが私を失敗させていない限り、そのような記事がまだ公開されていないことを確信しているため、これはやや難しい注文であることを認識しています.スタック オーバーフローの回答)、時間がかかります。これは難しい注文であるため、誰かの努力に対してより良い報酬を与えるために、私ができるようになったら、この質問に対して多くのポイントに相当する報奨金を開始する予定です。お時間をいただきありがとうございます。

4

1 に答える 1

10

TDD は、コードを書く前にテストを書いて、テストを書いていることを確認するという点で、少し間違っています。

必要なことは、何かを作成する前にテストを作成することだけです。これには、テストを作成するために、ユース ケースを考えて分析する必要があります。

したがって、誰かにデータを表示してもらいたい場合は、コントローラーのテストを作成する必要があります。それはおそらく次のようなものtestViewSingleItem()になるでしょう。おそらく、必要なassertContains()データが必要になるでしょう。

これが記述されると、失敗するはずです。次に、テストをパスするためにコントローラー メソッドを記述します。

それでおしまい。ユースケースごとにすすぎ、繰り返すだけです。これは単体テストです。

機能テストや統合テストなどの他のテストは、アプリケーションのさまざまな側面をテストしているだけです。これらのテストのどれがプロジェクトに役立つかを考え決定するのはあなた次第です。

ほとんどの場合、アプリケーションの個々の部分をテストできるため、単体テストが適しています。通常、機能に最も影響を与える部分、「クリティカル パス」。

これは非常に役立つ TDD チュートリアルです。http://net.tutsplus.com/sessions/test-driven-php/

于 2013-05-02T07:57:35.580 に答える