Tfs 允许pickle导入测试结果的MSBuild参数导致非法路径错误
我们使用SpecFlow应用BDD实践和pickle生成文档 我们的构建如下所示:Tfs 允许pickle导入测试结果的MSBuild参数导致非法路径错误,tfs,msbuild,specflow,picklesdoc,Tfs,Msbuild,Specflow,Picklesdoc,我们使用SpecFlow应用BDD实践和pickle生成文档 我们的构建如下所示: /t:DocumentationGeneration /p:Pickles_Generate=True /p:Pickles_DocumentationFormat=dhtml /p:Pickles_ResultsFile="$(build.sourcesdirectory)/TestResults/*.trx" /p:Pickles_OutputDirectory="$(build.artifactstag
/t:DocumentationGeneration
/p:Pickles_Generate=True
/p:Pickles_DocumentationFormat=dhtml
/p:Pickles_ResultsFile="$(build.sourcesdirectory)/TestResults/*.trx"
/p:Pickles_OutputDirectory="$(build.artifactstagingdirectory)/PickledDocumentation"
[some more generic parameters that are not relevant here]
/t:DocumentationGeneration
/p:Pickles_Generate=True
/p:Pickles_DocumentationFormat=dhtml
/p:Pickles_ResultsFile="$(build.sourcesdirectory)/TestResults/*.trx"
/p:Pickles_OutputDirectory="$(build.artifactstagingdirectory)/PickledDocumentation"
[some more generic parameters that are not relevant here]
当我执行上述操作时,在构建过程中会出现“路径中的非法字符”错误。当我用/p:Pickles\u ResultsFile=“$(build.sourcesdirectory)/TestResults/TestResults.trx”替换它时,似乎是*
导致了这个错误。
根本没有问题,因为测试结果是非预测格式的:用户名\u服务器名1234 2017-02-02 09\u 09\u 09.trx
我试图为.trx文件生成一个通用名称,但VSTest不支持自定义名称。有没有其他人遇到过这个问题?有没有好的解决方法?Pickles只支持测试结果文件的确切名称。GitHub项目站点上存在允许通配符的。作为Pickles的维护者,我很乐意查看解决该问题的任何pull请求。应请求:我就是这样解决的。这更像是一个在我的特殊情况下工作的方法,但在底部我解释了我希望它能很快得到解决
重命名
“$(build.sourcesdirectory)\TestResults\*.trx”TestResults.trx
$(Build.SourcesDirectory)/yourproject.csproj
/t:DocumentationGeneration
/p:Pickles_Generate=True
/p:Pickles_DocumentationFormat=dhtml
/p:Pickles_ResultsFile="$(build.sourcesdirectory)/TestResults/TestResults.trx"
/p:Pickles_ResultsFormat="vstest"
/p:Pickles_OutputDirectory="yourdestinationpath"
正如我所说的,重命名是一项工作,因此我扩展了pickles代码本身以支持通配符,现在是这样,所以希望它能在下一个版本中实现,并且大家都可以这样使用:)。除了找出确切的文件名,可能没有其他选择。这并不难,它是内置的msbuild功能,原则是将自定义的“PicklesResultsDir”传递给项目,并在项目中使用msbuild查找具有
的文件。你没有说你的解决方案/项目布局是什么,所以我不能告诉你把这个逻辑放在哪里。嗨@dirk rombauts,谢谢你的优秀产品。我会调查的,也许我甚至可以推动修复!(无论如何,我有一个真实的测试用例:)。现在我用另一个构建步骤重命名了.trx文件,解决了这个问题。我很高兴你找到了一个方法让它为你工作!请随便问我是否还有其他与泡菜相关的事情可以帮助您。@Cece MSFT已完成。将在适当时更新(即支持通配符)。