2012-02-09 6 views
2

Activitiesのユニットテストをどのように書いていますか?ハンドセットとタブレットでは動作が異なりますか?タブレットにはいくつかの断片があり、ハンドセットには1つしかありません。あなたはそれぞれの画面サイズに対して2つの別々のテストスイートを書いていますか、あるいはあなたの単一のテストではif/elseのことをしていますか?ハンドセットとタブレットの動作が異なる場合、単体テストの書き方は?

答えて

0

ユニットテストでは、決してif/elseを実行しないでください(Conditional Test Logic smellを参照)。それはあなたのテストを読みにくくし、あなたのテストが正確にテストされていることを明確にしません。

私は画面サイズの違いを最小限に抑えようとします。どちらも共通のアプリケーション層を使用する場合は、アプリケーション層の単体テストを記述して、コードの大部分をカバーすることができます。

差異を別々のクラスに因数分解すると、それらのクラスのパラメタ化テストを作成できます。

0

"動作が異なる"という意味に応じて、 "values- {specifier}"形式を使用して、変数を値(文字列やIDなど)に自動的に変更することができますアクティビティの動作これにより、同じテストコードが条件なしで異なる動作をすることができます。

もう1つ、奇妙な選択肢は、tryの設定でassertブロックを囲み、AssertionExceptionをキャッチしてcatchブロック内の他の設定のアサートを配置することです。

関連する問題