我有一些包含测试方法的有序测试。一些测试方法用于多个有序测试。
<?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中,经常使用有序测试的名称:
所以也许 有可能读取有序测试的名称,但是还有办法在运行时获取它吗?
(顺便说一句 - 确切地说,我想要测试的名称,因为它显示在测试结果列表中。)