2017-11-01 12 views
0

Windowsの.batファイルを使用してコード化されたUIテストを実行する方法を知っています。それは比較的単純です。 MSテストエージェントhereをダウンロードし、VS 2017またはVS 2015の関連リンクを使用します。コード化されたuiプロジェクトで、[ビルド] - > [バッチビルド]を選択します。 dllをコピーして、あなたのコード化されたui dllを参照する.batファイルを作ります。.batファイルを使用してコード化されたUIテストを実行するには、実行するコード化UIテストをどのように指定するのですか?

マイ.BATファイルは次のようになります。参考のために

C: 

cd codedui 

set mstestPath="C:\Program Files (x86)\Microsoft Visual 
Studio\2017\TestAgent\Common7\IDE" 

%mstestpath%\mstest /testcontainer:AppUnderTestCodedUITesting.dll 

、ステップはより良い詳細hereに覆われています。

質問:私の.batファイルを使用して1回のテストを実行するにはどうすればよいですか?問題は、上記の方法を使用すると、すべてのテストが実行されることです。もちろん、私は何百もの小さなテストを持っています(通常、各テストは1つのボタンをクリックするか、1つの小さなものをクリックします)。私はそれらのすべての小さなテストを実行したくない、私は1と唯一の1つの順序テストをしたい。これをどのように達成するのですか?

事前に感謝します。

答えて

0

よくあることですが、少し頭を引っ掻いた後、私は自分自身で答えを見つけました。私は/ testオプションを追加しなければなりませんでした。だから私のテストラインは今:

%mstestpath%\mstest /testcontainer:SynTQCodedUITesting.dll /test:common_test_A 

"common_Test_A"は私のテストの名前です。私はまだ順序付けられたテストを指定する方法は分かっていませんが、私のコード化されたUIプロジェクトには少し変化があります。私が望む順序で必要なすべてのテストを実行するテストを作ることができます。 。

誰かがテストの代わりに順序付けられたテストを指定する方法を知っている場合は、それは驚くべきことです。

0

私は確認できませんでしたが、あなたはordered testその後testcontainerよう命じたテストファイルを使用して作成してみました:

試験容器は、実行するテストを含むファイルです。たとえば、順序付けられたテストの場合、テストコンテナは順序付けられたテストを定義する.orderedtestファイルです。

このメソッドは動作しない場合は、カンマで区切ることにより、実行するテストを宣言することができます。

%mstestpath%\mstest /testcontainer:SynTQCodedUITesting.dll /test:common_test_A,comm_test_B 

をしかし、彼らは注文できません。私はMSTestがクラスとメソッドの名前に応じてそれらを再生すると思います。

私は、1つのメインテストからすべてのテストを実行すべきではないと思います。 1つのテストが失敗すると、メインテストも(例外管理なしで)失敗し、それ以降のすべてのテストは実行されません。 TestInitializeメソッドとTestCleanupメソッドを使用して、テストを互いに独立させる必要があります。

また、テストをデバッグする際の細分性も重要です。

関連する問題