5

最近、J.B.RainsbergerによってIntegration Tests are a Scamを監視していました。私は、私たちがどれだけ間違っているか(すなわち、ユニットテストを行うときに統合テストをする)、Rainsbergerが説明した概念に興味を持っているだけでなく、それらをどのように適用するのか混同していることにもショックを受けています。私はコラボレーションテストと契約テストを記述したいと思っていますが、どこから始めるべきかわかりません。"統合テスト詐欺"の削除 - コラボレーションと契約テストの理解

私の心に捕まってしまっただけのものはテストが尋ねる必要がある4つの質問です:

サイドA:

Do I ask the right question? 
Can I deal with the answer? 

サイドB:

Can I answer a question? 
Do I answer correctly? 

しかし、私はこれをアプリケーションスタックのランダムメソッドにどのように適用しますか?

現実世界の例を取り上げ、アイソレーションされたマイクロテストのこれらのアイデアを適用する本やチュートリアルやサンプルがありますか? この例では、Java、C#またはC++を使用するのが理想的です。

これらの概念を一般的に扱い、私がそれらをよりよく理解する助けとなる文献は高く評価されます。

また、そこにフォーラムがある場合、正しくユニットテストを行い、おそらく既存のコードをリファクタリングしてサンプルを投稿する方法についてより詳細な質問をすることができます。

ありがとうございます!

+2

にそれを使用することに同意するものとし、両当事者のためのOO-パターンで素敵な例があります。それを絞り込むことができます。そしておそらく(他の人はこれをもっと判断することができますが)これはプログラマSEにとってより適しているでしょうか? – Bart

+0

ええ、そうです。私は情報リソースに関する質問にそれを限定し、プログラマーセクションに詳細を掲載しました。 – Pete

+0

プログラマーSE確かに –

答えて

3

私はxUnitTestPatterns - Refactoring Test Code by Gerald Meszarosをお勧めします。これは、個々のメソッドレベルでテストする際に、さまざまなプラクティスの良さと悪い点について多くの詳細を提供します。

ファウラーによるリファクタリングを読んだ場合、あなたの質問に対する回答は、必ずしも白黒ではなく、自分や他人の経験のヒューリスティックに基づいていることがわかります。コードに到達究極の100%の品質(基本的な正しさ)で彼のポイントを証明するために、オーバー誇張して非効率的な統合テストがどのように

+0

チップをありがとう。私はプログラマーSEで同じことを得たので、それを注文することについて良い気持ちがある。ファウラーは、最近聞いたことのある名前です(「テストで導かれるオブジェクト指向ソフトウェアの成長」を読む)。多分私もそれを取得する必要があります。 – Pete

1

Rainsberger、

のDbCは、AとBの両方の当事者の外に責任と利益を正式に焦点を当てています。インタフェースの拡張のようなものです。したがって、主な焦点は契約自体になります。中間層は、双方が互いに相互作用できるかどうかを教えます。

Rainsbergerは明らかにライブラリや言語のサポートは明示されておらず、同じことを尋ねるAモックとBインプットの両方を達成し、誰かにとってPhDの仕事になる可能性があることを示唆しています。

しかしジム・ウェイリックは、契約がテスト用と1人の行くに質問の多くの地獄のように思える https://www.youtube.com/watch?v=7Yw744FMqTY

関連する問題