我有一些包含测试方法的有序测试。一些测试方法用于多个有序测试。
<?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>
如您所见,在testmethod_A
执行
时,我需要获取当前正在运行的有序测试的名称,例如.orderedtest_A
orderedtest_B
orderedtest_B
我知道我可以通过读取属性来获取当前正在运行的测试TestContext.TestName
方法的名称(例如testmethod_B
)
如果每种测试方法仅用于一个有序测试中,这会很好(然后我可以读取所有*.orderedtest
xml 文件并搜索具有给定名称的测试方法) - 但事实并非如此!(如上所述:见testmethod_A
)
在 VS2010 中,经常使用有序测试的名称:
- 在测试列表编辑器中
- 在测试结果列表中
- 在测试视图中
所以也许有可能读取有序测试的名称,但还有一种方法可以在运行时获取它吗?
(顺便说一句 - 确切地说,我想要测试的名称,因为它显示在测试结果列表中。)