gpt4 book ai didi

xml - 如何以编程方式生成 trx 文件?

转载 作者:数据小太阳 更新时间:2023-10-29 01:45:20 26 4
gpt4 key购买 nike

我已经搜索过这个主题,没有找到任何好的信息来逐步完成,所以我研究了它并在这里分享。这是一个简单的解决方案。

最佳答案

在你安装的VisualStudio中找到vstst.xsd文件,使用xsd.exe生成一个.cs文件:

xsd.exe/classes vstst.xsd

生成的 vstst.cs 文件包含定义 trx 文件中每个字段/元素的所有类。

您可以使用此链接了解 trx 文件中的某些字段:http://blogs.msdn.com/b/dhopton/archive/2008/06/12/helpful-internals-of-trx-and-vsmdi-files.aspx

您还可以使用从 mstest 运行生成的现有 trx 文件来学习该字段。

利用 vstst.cs 和您对 trx 文件的了解,您可以编写如下代码来生成 trx 文件。

TestRunType testRun = new TestRunType();
ResultsType results = new ResultsType();
List<UnitTestResultType> unitResults = new List<UnitTestResultType>();
var unitTestResult = new UnitTestResultType();
unitTestResult.outcome = "passed";
unitResults.Add( unitTestResult );

unitTestResult = new UnitTestResultType();
unitTestResult.outcome = "failed";
unitResults.Add( unitTestResult );

results.Items = unitResults.ToArray();
results.ItemsElementName = new ItemsChoiceType3[2];
results.ItemsElementName[0] = ItemsChoiceType3.UnitTestResult;
results.ItemsElementName[1] = ItemsChoiceType3.UnitTestResult;

List<ResultsType> resultsList = new List<ResultsType>();
resultsList.Add( results );
testRun.Items = resultsList.ToArray();

XmlSerializer x = new XmlSerializer( testRun.GetType() );
x.Serialize( Console.Out, testRun );

请注意,由于“项目”字段上的某些继承问题,您可能会遇到 InvalidOperationException,例如 GenericTestType 和 PlainTextManualTestType(均派生自 BaseTestType)。谷歌搜索应该有解决方案。基本上将所有“项目”定义放入 BaseTestType。这是链接:TestRunType 的序列化抛出异常

为了让trx文件能够在VS中打开,需要填写一些字段,包括TestLists、TestEntries、TestDefinitions和results。您需要链接一些指南。通过查看现有的 trx 文件,不难发现。

祝你好运!

关于xml - 如何以编程方式生成 trx 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21028962/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com