Visual Studio 2010で「コード化されたUIテスト」を使用する場合、AUTがまだ実行されていない場合にのみ、テスト対象アプリケーション(AUT)を開始する簡単な方法はありますか?
このようなスタートアップコードを最初から実装できることは知っていますが、VisualStudioのテストフレームワークがすぐに使えるものを提供しているかどうか疑問に思います。
Visual Studio 2010で「コード化されたUIテスト」を使用する場合、AUTがまだ実行されていない場合にのみ、テスト対象アプリケーション(AUT)を開始する簡単な方法はありますか?
このようなスタートアップコードを最初から実装できることは知っていますが、VisualStudioのテストフレームワークがすぐに使えるものを提供しているかどうか疑問に思います。
これは、次のコードを使用して実行できるようです。
[TestInitialize]
public void MyTestInitialize()
{
if (_application != null)
{
return;
}
Process[] processes = Process.GetProcessesByName("ApplicationUnderTest");
if (processes.Length > 0)
{
_application = ApplicationUnderTest.FromProcess(processes[0]);
}
else
{
_application = ApplicationUnderTest.Launch(@"C:\Path\To\ApplicationUnderTest.exe");
}
}
AUTは、まだ実行されていない場合にのみ起動されます。
私が知っているように、アプリケーションが現在実行されていない場合にアプリケーションを起動するための組み込みのメソッドはありません。
これを行うためのカスタムを作成するのは簡単です。テスト対象のアプリケーションを既知の状態にできることを確認してください。これにより、以前のテストが失敗しても、失敗した後にすべてのテストが実行されることはありません。Webアプリケーションの場合、既知の状態に戻るのはURLを設定するのと同じくらい簡単ですが、複雑なデスクトップアプリケーションの場合、既知の状態に戻すのは非常に複雑になる可能性があります。