如何获取当前正在执行的OrderedTest的名称

时间:2012-10-10 08:25:24

标签: .net visual-studio-2010 unit-testing mstest ordered-test

我有一些包含测试方法的有序测试。一些测试方法用于多个有序测试。

<?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_Aorderedtest_A中使用了orderedtest_B 在执行时,我需要获取当前正在运行的有序测试的名称,例如orderedtest_B

我知道我可以通过阅读TestContext.TestName属性(例如testmethod_B)来获取当前正在运行测试方法的名称

如果每个测试方法仅用于一个有序测试(然后我可以读取所有*.orderedtest xml文件并搜索具有给定名称的测试方法),这将没有问题 - 但事实并非如此! (如上所述:见testmethod_A

在VS2010中,经常使用有序测试的名称:

  • 在测试列表编辑器中
  • 在测试结果列表中
  • 在测试视图中

所以也许 有可能读取有序测试的名称,但是还有办法在运行时获取它吗?

(顺便说一句 - 确切地说,我想要测试的名称,因为它显示在测试结果列表中。)

0 个答案:

没有答案