テストメソッドを含む順序付けられたテストがいくつかあります。一部のテスト メソッドは、複数の順序付きテストで使用されます。
<?xml version="1.0" encoding="UTF-8"?>
<OrderedTest name="orderedtest_A" ...>
...
<TestLinks>
<TestLink id="..." name="testmethod_A" ... />
<TestLink id="..." name="testmethod_B" ... />
<TestLink id="..." name="testmethod_G" ... />
<TestLink id="..." name="testmethod_Z" ... />
</TestLinks>
</OrderedTest>
と
<?xml version="1.0" encoding="UTF-8"?>
<OrderedTest name="orderedtest_B" ...>
...
<TestLinks>
<TestLink id="..." name="testmethod_A" ... />
<TestLink id="..." name="testmethod_M" ... />
<TestLink id="..." name="testmethod_E" ... />
</TestLinks>
</OrderedTest>
ご覧のとおり、 inおよび in でtestmethod_A
使用されています
。実行時に、現在実行中の順序付きテストの名前を取得する必要があります。orderedtest_A
orderedtest_B
orderedtest_B
プロパティを読み取ることで、現在実行中のテストメソッドの名前を取得できることを知っていTestContext.TestName
ます (例: testmethod_B
)
各テスト メソッドが 1 つの順序付けられたテストでのみ使用された場合、これは問題ありません (その場合、すべての*.orderedtest
xml ファイルを読み込んで、指定された名前のテスト メソッドを検索できます) - しかし、そうではありません! (上記のとおり: を参照testmethod_A
)
VS2010 では、順序付きテストの名前が頻繁に使用されます。
- テスト リスト エディタで
- テスト結果一覧で
- テストビューで
したがって、順序付けられたテストの名前を読み取る可能性はあるかもしれませんが、実行時にそれを取得する方法もありますか?
(ところで-正確には、テスト結果リストに表示されているテストの名前が必要です。)