将结果文件添加到AssemblyCleanup中的TestContext
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将结果文件添加到AssemblyCleanup中的TestContext相关的知识,希望对你有一定的参考价值。
我正在尝试将文件添加到测试运行中以显示在TFS中,而不是将它们添加到单个测试中。仅将文件添加到上一次测试也是一种选择。
通过将MSTest的TestContext存储在静态变量中,我可以在我的测试类的AssemblyCleanup方法中访问它,并使用AddResultFile()来添加我的文件。但是,这些文件不会在TFS的Web UI中显示为测试运行的附件,也不会显示为上次测试的附件。
有什么方法可以在testrun中附加一次文件,或者将它们添加到最后一个测试中,或者将它们附加到测试运行中?
答案
使用TFS REST API将是一个不错的选择,您可以轻松地为测试运行或测试结果添加附件。
将文件附加到测试运行:
POST https://{instance}/DefaultCollection/{project}/_apis/test/runs/{run}/attachments?api-version={version}
Content-Type: application/json
{
"stream": { string },
"fileName": { string },
"comment": { string },
"attachmentType": { string }
}
将文件附加到测试结果:
POST https://{instance}/DefaultCollection/{project}/_apis/test/runs/{run}/results/{result}/attachments?api-version={version}
Content-Type: application/json
{
"stream": { string },
"fileName": { string },
"comment": { string },
"attachmentType": { string }
}
您可以使用以下代码获取文件的“stream”字符串:
Byte[] bytes = File.ReadAllBytes("path");
String file = Convert.ToBase64String(bytes);
以上是关于将结果文件添加到AssemblyCleanup中的TestContext的主要内容,如果未能解决你的问题,请参考以下文章
如何将 mySQL 数据库中的结果保存到 python 中的文件或变量中?
如何为每次执行将过程结果存储在 SQL Server 中的新(单个)文本文件中
我们可以将屏幕截图作为附件添加到 Azure 管道中的测试结果吗