Csharp/C#教程:没有vstest.console.exe发现的xunit测试分享


没有vstest.console.exe发现的xunit测试

我正在整理一组新的unit testing,作为CI工作一起运行。 我使用vstest.console.exe而不是mstest.exe主要是因为它能够从几个框架运行测试,但现在焦点是几个xUnit dll。 这些作业是作为Jenkins管道的一部分运行的。

我已经在几个开发盒上成功测试了所有内容,但到目前为止,烦人的测试发现在任何CI构建盒上都无法正常工作。 这是在添加0.99.8 xUnit测试适配器vsix(也用0.99.7测试)之后。 xUnit dll是使用2.0.0.2378 beta nuget版xUnit构建的。

我用最简单的dll复制了这些症状,使用单一的公共测试方法,在我自己的盒子上正常工作,而不是在任何构建盒上工作。 在Windows 2012上,部署环境非常简单,VS2012安装和xUnit测试适配器。

我通过vstest exe配置文件启用了TpTrace日志记录,一切看起来都很好。 我想我正在寻找一种方法来进一步解决问题(可能是跟踪xUnit发现过程)或解决问题。 为了简化运行几个框架,我宁愿保留使用vstest控制台。

我也通过xUnit codeplex网站写了这个问题。

我已经查看了这篇SOpost,但没有一个建议的解决方案在这里有意义。

我花了很长时间才找到如何使用vstest.console.exe和xunit for VS2013的解决方案,所以我觉得值得花时间在这里解释一下我是如何为大家做的…

第一步是按照此处的说明在 xunit项目中安装预发布的xunit.runner.visualstudio nuget软件包,以便能够从Visual Studio运行xunit测试。

然后,当您运行vstest.console.exe命令时, 必须使用参数/TestAdapterPath

您的命令行应该看起来像某些东西(xunit适配器的路径在这里是相对的,您可以将其置于绝对位置或根据活动目录进行调整):

 "C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDECommonExtensionsMicrosoftTestWindowvstest.console.exe" c:pathtoyourassembly.to.test.dll /TestAdapterPath:".packagesxunit.runner.visualstudio.0.99.9-build1021build_common" 

编辑:因为适配器dll被复制到输出文件夹,我们可以简化命令行给出路径“。” 到/TestAdapterPath选项:

 "C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDECommonExtensionsMicrosoftTestWindowvstest.console.exe" c:pathtoyourassembly.to.test.dll /TestAdapterPath:"." 

有关信息,它也适用于NUnit,nuget包NUnitTestAdapter和命令:

 "C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDECommonExtensionsMicrosoftTestWindowvstest.console.exe" c:pathtoyourassembly.to.test.dll /TestAdapterPath:"." 

好的,所以问题解决了,但经过一些令人沮丧的故障排除,我将覆盖,以防它对某人有用。 问题是xunit.execution.dll在与包含测试的dll相同的文件夹中不可用。 这是xunit发现所必需的。 我只来到这里:

通过确保将dll复制到构建框中的该文件夹中解决了问题。

上述就是C#学习教程:没有vstest.console.exe发现的xunit测试分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1015318.html

(0)
上一篇 2021年12月30日
下一篇 2021年12月30日

精彩推荐