2017-06-19 79 views
0

现在我有一个解决方案,它在Visual Studio 2017(4.6.2)中有3个单元测试项目。合并解决方案中多个测试项目的结果VSTest

我创建了TestCategories并使用基于TestCategories的命令提示符(单一测试类别/多重测试类别,在命令中使用“&”操作)执行测试。

我制作了一个TestResults的列表,并且将结果添加到每个单独项目的TestCleanup方法的列表中。此TestResult列表是全球性的,可以在所有3个测试项目中访问。

完成后,在Assembly Cleanup中,我将其写入Excel文件并将其邮寄到组织中的电子邮件组。

当我这样做时,我从3个测试项目收到3封邮件。

为了避免这种情况,我仅在1个测试项目中添加了邮件代码,并确保从该TestProject运行测试(即使我不需要该测试运行)。现在

,我的问题是:
假设我有3 TestProjects A,B & C,和我在大会清理邮件逻辑TestProject C.
1.如同AssemblyCleanup,我们有一个地方,我们知道所有的A或B或C测试项目都完成了测试的执行吗?
2.假设如果我只在TestProject A中运行测试,但是我没有邮寄逻辑,我没有收到邮件。 (由于邮件逻辑可用于不同的项目 - C)
3.如果我将邮寄逻辑添加到所有3个项目(A,B & C),它会向我发送3封邮件。我必须手动合并。
4.如果我已经执行了来自每个程序集(A,B,C)的几个测试。在装配清理中我怎么知道在装配B或C中还有一些未决测试要执行? - 基于这个,我可以执行邮件逻辑,如果还有其他程序集要执行一些测试,我会在当前程序集中跳过它,让它发生在B或C中。类似地,我会在所有程序中编写相同的逻辑3个组件。通过这样做,我将在所有3个装配/项目中获得所有测试的只有1份报告。

谢谢

回答

0

您可以使用/ Logger:trx选项来获取测试结果文件。例如, vstest.console a.dll b.dll /logger:trx

相关问题