0

コード化された UI テスト ケースを WPF アプリケーションから実行したいと考えています。ただし、再生を初期化してテスト メソッドを呼び出すと、TestContext が NULL であるというエラーが発生します。WPFアプリケーションを介したコード化されたUIテストの実行が可能かどうかを誰かが提案できますか? また、テストケースはデータ駆動型であり、TestContext にアクセスする必要があるため、このアプローチで TestContext にアクセスするにはどうすればよいですか。

ありがとう。

4

1 に答える 1

3

これはテストランナーの行動に関する質問です

TestConext「TestHarness/TestRunner」の実行時に設定されます。これは、テストメソッドとクラスが必要とするものに基づいて、実装されたバージョンを提供するVisual Studioプロセスで呼び出される抽象クラスです。たとえば、パラメータデータテーブルからのデータ行の反復。コード化された UI、単体テスト。で既に使用されているものを使用したい場合は、それを呼び出して、そこから使用されている完全修飾型を調査できます。ただし、そのクラス タイプが利用できない場合は、完全に実装する具象クラスを実装する必要があります。QAagent32.exeExcel WorksheetTFS TestCaseVisual StudioGetType()TestContex

次に、コードで次のようにすることができます。

PlayBack.Initialize();
var yourTestClass = new YourUniqueClassTests();
yourTestClass.TestContext = TestConextFactory.GetImplimentation();
yourTestClass.TestMethodThatsImportant();

テストメソッドでDataSource属性を使用している場合は、おそらくリフレクションを使用してその情報を取得する必要があります。

var attribute= yourTestClass.GetType()
                            .GetMethod("TestMethodThatsImportant")
                            .GetCustomAttributes(typeof(DataSourceAttribute),false)[0] 
                             as DataSourceAttribute;

これにより、そのデータを取得できるはずです。取得したら、ロジックを追加してTestContext、実装するオブジェクトのタイプを決定し、テスト クラスに設定できます。

于 2015-10-28T20:45:41.773 に答える