アプリケーションとUIコードを単体テストするにはどうすればよいですか?


10

私は単体テストを書くのが大好きで、コードをテストしたり、リグレッションを防止したりするのに優れた方法であることに同意します。しかし、私が日々取り組んでいるコードの大部分はアプリケーションであるため、自分で書くことができないことに気づきましたユーザーにUIを表示するコード。アプリケーションコードを単体テストする良い方法はありますか?ここでのベストプラクティスは何ですか?

私はフレームワークなどの特定の答えを探していません。しかし、一般的に、この問題にどのように取り組みますか?


「UIを表示するアプリケーションコード」とは?MVCのCについて話していますか?
Martin Wickman

あらゆる種類のグラフィカルインターフェイスについて話している-JavaScript / HTML、MFCを使用したC ++、WinForms、WPFなど...
Justin Ethier

MVVMは単体テストが簡単です。MVVM コマンドパターンを
アミールRezaei

@amir-参照や追加情報はありますか?
ジャスティンエティエ2010

回答:


8

実際のユーザーインターフェイスをテストするために、Seleniumはうまく機能します。

実際の単体テストが必要な場合の戦略は、実際のユーザーインターフェイスからできるだけ多くのロジックをプッシュすることです(通常はViewModelオブジェクト)。次に、ViewModelオブジェクトに対する単体テストを記述できます。

つまり、実際のUIにはできるだけ少ないロジックを配置して、ユニットテストを他の場所で実行できるようにします。


これはSoCの優れた設計であり、UIにドメイン/ビジネスロジックを含めることはできません。多くのクライアントロジック-対話性/検証は、ユニットテスト可能なJavaScriptを使用してUIで実行できます。
StuperUser 2011年

1

私は、MSTestを使用してアプリケーションをユニットテストし、QUnitを使用してJavascriptをテストし、WatiNを使用する単一のMSTestユニットテストでそれらのテストの結果を取得することに成功しました(テストを記録する機能もあるSeleniumが推奨されましたが、きれいに自動化するためにWatiNの方が優れていることがわかりました)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.