2017-08-31 88 views
1

我有一个TFS 2017(版本15.105.25910.0)构建,它也运行测试,但是一个测试需要很长时间,并且由于在构建编辑页面的'常规'选项卡中设置了超时,整个构建将被取消。 TFS日志包含在下面。 如何检查哪个测试有问题?TFS 2017我如何知道哪些测试正在运行(在完成之前)?

注意第一个和第二个日志之间的时间差。我假设一个错误的测试正在ReportAnalyzer_Blabla_SomethingTest之后运行,但超过1k个测试很难猜测它是什么。

2017-08-30T11:30:09.7614471Z Passed ReportAnalyzer_Blabla_SomethingTest 2017-08-30T11:53:52.1581687Z ##[debug]FindFiles.FindMatchingFiles(rootFolder = D:\TfsBuildAgents\RmsBuild\_work\8\s\TestResults, matchPattern = *.trx, includeFiles = True, includeFolders = False 2017-08-30T11:53:52.1581687Z ##[debug]FindFiles.GetMatchingItems(includePatterns.Count = 1, excludePatterns.Count = 0, includeFiles = True, includeFolders = False 2017-08-30T11:53:52.1581687Z ##[debug]FindFiles.FindMatchingFiles - Found 0 matches 2017-08-30T11:53:52.1581687Z ##[debug]Processed: ##vso[task.logissue type=warning;code=002003;] 2017-08-30T11:53:52.1581687Z 2017-08-30T11:53:52.1581687Z 2017-08-30T11:53:52.1737949Z ##[warning]No results found to publish. 2017-08-30T11:53:52.1737949Z ##[debug]Processed: ##vso[task.logissue type=warning]No results found to publish. 2017-08-30T11:53:52.2050485Z ##[error]The operation was canceled. 2017-08-30T11:53:52.2050485Z ##[debug]System.OperationCanceledException: The operation was canceled.

+0

您使用哪个任务来运行测试? –

回答

0

我发现了一个混乱的解决方法,帮助我找到了失败的测试。在所有测试类(凌乱的部分),我已经添加了附加当前运行单元测试名文件的代码 - 中的最后一项是我感兴趣的是

[ClassInitialize] 
    public static void ClassInitialzie(TestContext testContext) 
    { 
     // This is just an example! 
     File.AppendAllText("testRunLog.txt", testContext.TestName + Environment.NewLine); 
    } 

该关闭的事情。 “在整个测试项目的每次测试之前运行代码”似乎是ClassInitialize属性。 https://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.classinitializeattribute.aspx

1

通常有故障的测试应该ReportAnalyzer_Blabla_SomethingTest后是第一测试。但正如你所说,根据你公布的日志,它有超过1K的测试,如果你没有分割测试,我们不能准确识别哪个测试是错误的。在这种情况下,恐怕你必须逐个调试。

所以,你可以尝试拆分测试,然后相应地进行调试。

您还可以尝试检查是否有任何其他详细日志来跟踪该日志。 有关更多信息,请参阅Review continuous test results after a build

+0

谢谢你的回复。如果运行被取消,恐怕没有测试结果可供浏览。 '## [警告]没有发现结果发布。“另外在本地进行逐个调试有时会产生与在TFS上运行不同的结果(有些测试非常老旧和混乱)。 – user1713059

相关问题