TFS多维数据集 - 单元测试方法名称未显示(显示为“未知”)

时间:2016-03-02 20:16:09

标签: visual-studio-2012 tfs analysis cube vs-unit-testing-framework

我是使用TFS分析数据多维数据集的新手,我正在尝试获取自动构建测试结果的报告。

我们每晚运行一次CI构建,运行所有单元测试。这些测试运行正常,我们使用Visual Studio Test Runner作为构建定义的一部分,我们确实在每次构建后看到测试结果,并且可以深入查看方法名称和测试的所有详细信息

在尝试让TFS数据立方体工作时,我一直无法弄清楚如何让方法名称显示出来。

All Tests Show As Unknown

我得到上面的结果...其中每个方法的标题显示为“未知”。有没有办法从立方体中获取我正在寻找的细节?我们最终将在此过程中进行一些手动和探索性测试,并且我已经看到了可以在那里显示测试计划和套件的示例。作为该套件的一部分,您显然可以将测试映射到您的DLL中,并选择它对应的方法......

但是我觉得我在这里遗漏了一些明显的东西,并且我们编写的所有这些单元测试在TFS数据立方体提供的“大图”中是非常无用的,如果我们不能像这样趋势它们时间。没有人想进入并手动查看所有先前的测试运行(方法名称清晰可见)。理想情况下,我会把一个快速的数据透视图放在一起,方法名称就像白天一样清晰......

任何人都可以对此提供任何见解,或者提供一种方法来获取要在多维数据集中显示的单元测试方法名称吗?

更新: 我仍然无法找到一种方法来从单元测试中获取方法名称以任何方式在Excel中显示。我做了一些关于将单元测试导入MTM作为测试用例的研究,但这似乎完全没必要。我有测试方法......它们作为我的测试的一部分运行...它们显示在数据库中,只是没有命名。令人沮丧。

这是我在Excel中的数据透视表设置,感谢您的关注。

Pivot Chart Settings

更新2: 仍然试图解决这个问题。我重建了数据立方体和仓库,似乎遵循了所有建议的方向。现有测试以及今天运行的新测试仍显示为“未知”。

我注意到服务器上的应用程序事件日志中有一些警告似乎与TFS和仓库作业有关。这可能是相关的,还是只是分心?

TF53010: The following error has occurred in a Team Foundation component or 
extension:

Date (UTC): 3/9/2016 7:56:48 PM
Machine: ServerName
Application Domain: TfsJobAgent.exe
Assembly: Microsoft.TeamFoundation.Framework.Server, Version=12.0.0.0,     
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v4.0.30319
Service Host: 
Process Details:
  Process Name: TFSJobAgent
  Process Id: 76700
  Thread Id: 101284
  Account name: NT AUTHORITY\NETWORK SERVICE

Detailed Message: TF30065: An unhandled exception occurred.
Exception Message: Operation is not valid due to the current state of the     
object. (type InvalidOperationException)
Exception Stack Trace:    at     
Microsoft.TeamFoundation.Framework.Server.TeamFoundationRequestContext.ValidateR    equestContext(Boolean throwOnError)
   at     
      Microsoft.TeamFoundation.Framework.Server.TeamFoundationRequestContext.To(TeamFo    undationServiceHost targetHost)
   at     Microsoft.TeamFoundation.Framework.Server.TeamFoundationRequestContext.To(TeamFo    undationHostType hostType)
   at     Microsoft.TeamFoundation.Warehouse.LockResources..ctor(TeamFoundationRequestCont    ext requestContext)
   at     Microsoft.TeamFoundation.Warehouse.WarehouseExecutionContext..ctor(TeamFoundatio    nRequestContext requestContext)
   at     Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension`1.CheckSchemaLockQu    eue(Object source)

1 个答案:

答案 0 :(得分:0)

您需要重建仓库和多维数据集。

https://msdn.microsoft.com/Library/vs/alm/Report/admin/rebuild-data-warehouse-and-cube

这可能需要一些时间,但应解决“未知”问题。

警告:如果已删除构建和测试或团队项目和集合等内容,则可能会丢失一些数据。