我使用Team Foundation Server 2010为eclipse项目及其相关单元测试创建了一个ANT构建。然而,我有麻烦让它发布单元测试的结果到TFS。
build.xml文件本身似乎运行正常,因为它构建项目并创建xml结果文件。这个问题似乎在TFSBuild中。项目,并将测试结果发布到TFS。
使用以下代码,构建成功执行,并将结果发布到TFS,正如我所期望的那样:<ItemGroup>
<AntBuildFile Include="$(SolutionRoot)/StockMoves/build.xml">
<Targets></Targets>
<Properties>BinariesRoot=$(BinariesRoot);BuildDefinitionName=$(BuildDefinitionName);BuildDefinitionUri=$(BuildDefinitionUri);BuildDirectory=$(BuildDirectory);BuildNumber=$(BuildNumber);DropLocation=$(DropLocation);LogLocation=$(LogLocation);SourceGetVersion=$(SourceGetVersion);TestResultsRoot=$(TestResultsRoot);TeamProject=$(TeamProject);WorkspaceName=$(WorkspaceName);WorkspaceOwner=$(WorkspaceOwner)</Properties>
<Lib></Lib>
</AntBuildFile>
<JUnitLogFiles Include="$(SolutionRoot)/StockMoves/test/TEST-unittest.TestSuite.xml" />
</ItemGroup>
但是,当试图更改JUnit查找的路径时:
<JUnitLogFiles Include="$(SolutionRoot)/**/TEST-*.TestSuite.xml" />
则不再公布测试结果。我知道这种格式是有效的,因为我已经成功地在其他构建中使用了它,但这一个让我难住了。
任何帮助都将非常感激!
看起来我已经解决了这个问题!
似乎无论出于什么原因,在运行构建时,所讨论的文件必须已经存在。我添加了一个与测试结果产生的文件同名的空xml文件,现在结果发布到TFS。