2016-11-22 9 views
0

完全なWPF MVVMデザインのおかげで、手動でXMLファイルにすべてのコマンドとビューイベントを記録することができました(ビューモデル、選択オブジェクト、表示されたオブジェクトIDなど...)シナリオテスト。 録画されたシーンを再生するのは簡単です:)WPF MVVM自動GUIテスト - コードカバレッジ

これはうまく動作し、私のコードのほとんどを素早く確認することができます。私はそれを誇りに思っています。 ; o)

しかし、コードの範囲を確認するにはどうすればよいですか?

私はこの場合、単体テストではなく、デバッグモードでアプリを実行していますですが、どのコードがテスト済みであるかを確認したいと思います。

あなたはライブテスト、ユニットテストのすなわちないセットでコードカバレッジを実行する場合

おかげで、 のNd

+0

このような感じですか? **手動補償**については、https://www.jetbrains.com/help/dotcover/2016.1/Getting_Started_with_dotCover.html – Haukinger

+0

こんにちは。答えをありがとう。私はResharper(Ultimateバージョンのみ)のこの機能を知らなかった。私は一見を持っていますが、私は上司から支払いを受けることができないと思います:)コードカバレッジを見るための自由な方法が見つからなければ、私は試してみます。 – NitroDeath

+0

こんにちはHaukinger、私はDotCoverをテストしました、それは非常に使いやすく効率的です。私は自分のコードをカバーするための別の自由な方法を持っていないので、私はそれを購入しようとします。おかげで多く – NitroDeath

答えて

0

私は最終的にコードプロジェクトで友人に素晴らしい記事のおかげで見つかった:FREE用scenariiテストにその偉大な記事のsnehal harawandeへ

https://www.codeproject.com/articles/590346/codepluscoverageplusforplusregressionplustestsplus

感謝を。私は.Net 4.5.2 64ビット(最初のバッチ行の引数に "x64"を追加)を使用しました。私はVS Enterpriseで結果をインポートしました。

+using System.Reflection ; 
+using Microsoft.VisualStudio.TestTools.UnitTesting ; 

namespace YourAppNamespace 
{ 
    /// <summary> 
    /// Interaction logic for App.xaml. 
    /// </summary> 
+ [TestClass] 
    public partial class App 
    { 
+  [TestMethod] 
+  public void Test() 
+  { 
+   ResourceAssembly = Assembly.GetExecutingAssembly() ; 
+   InitializeComponent() ; 
+   Run() ; 
+  } 
    } 
} 

を今、あなたは組み込みのテストランナーとコードカバレッジ計測のVisual Studioのを使用することができます:それは:)

おかげで、すべての

0

は、あなたが実際にライブコードを発射する一つのユニット・テストを作成することができます(たとえば作りますメインにコールするかプログラムが実行されます)、テストシナリオを実行してプログラムを終了します。その時点で、ユニットテストフレームワーク(そしてHaukingerが述べたようにdotCoverを推奨します)では、テストが終了し、コードカバレッジ情報を取得します。

+0

こんにちは、私はもう一度見ていくつもりですが、今までの結果は素晴らしいものではありません:)。ビューは実際には表示されません。それは開始時にのみ点滅し、私はそれを再び見ることができません。私のビューが表示されない場合はレンダリングが行われず、テストする必要があります:(空のプロジェクトでそれを試して、UTが眠っている間に別のスレッドで起動しようとしました。 – NitroDeath

0

次のようにあなたのApp.xaml.csを変更し、その後、Microsoft.VisualStudio.QualityTools.UnitTestFrameworkへの参照を追加します最適です。 "Debug/Start Debugging"の代わりに "Test/Analyze Code Coverage/All Tests"を使用してください。 (ただし、コンソールテストランナーvstest.console.exeは動作しません)

関連する問題