2010-12-08 16 views
4

私たちはすべて、テスト駆動開発を知っています。私はGUIベースのライブラリを書く必要がありますが、正直言って、私はいつもテストを無視しました。大学などでJUnitを使ったことはありますが、通常の「リストを実装してテストする」よりも深刻なことはありませんでした。JUnitでGUIをテストする

私はこの機能のために数千のアプリケーションを書こうと思っていないので、ScalaとJUnitのGUIベースのライブラリテストの "プロ"アプローチは何ですか?

お寄せいただきありがとうございます。

答えて

6

プレゼンテーションレイヤーは他のものと分けてください。

可能な限り薄くプレゼンテーションレイヤーを保管し、理論上テストは特定のパターンの中間者で実行できるようにします。 MVC、MVVMなど...

プレゼンテーションレイヤーと基礎となるロジックを結合すると、テストはメンテナンスと実行の悪夢になります。

モデル/ ViewModels /コントローラなどを徹底的にテストし終わったら、プレゼンテーションレイヤーをテストすることで、その価値を失うことがよくあります。それはまだ価値がありますか?はい...しかし、リターンはかなり減少しています。

これらの概念は、多くのフレームワーク/言語に当てはまります。この理解を理解すれば、与えられた枠組み/言語の技術的利点は自然に現れるでしょう。これに答えるためにフレームワーク/言語に依存しないでください。フレームワーク/言語は懸念の分離をもっと親しみやすい方法で提供することは間違いありませんが、懸念の分離は常にあらゆるタイプのテストの最前線にあります。 GUIが含まれています。

2

実践的なTDDと受入れTDD for Java開発者向けの本を読んでください。

これは、Swingアプリケーションの単体テスト方法といくつかのTDDテクニックの基礎をカバーしています。

私は本を完成させていないので、Scalaをカバーするかどうか分かりませんが、私はこの本を(すでに)お勧めします!

いくつかの個人的な注記:アクションを望む場合は、第1章をスキップして元に戻してください。 それは

Test Driven book link

を「一般的にTDDを使用して起動する方法」をカバー