3

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

<?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_Aorderedtest_Borderedtest_B

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

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

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

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

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

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

4

0 回答 0