Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 我可以用VS2010进行自动MSTest测试吗?_Visual Studio 2010_Unit Testing_Msbuild_Automated Tests_Mstest - Fatal编程技术网

Visual studio 2010 我可以用VS2010进行自动MSTest测试吗?

Visual studio 2010 我可以用VS2010进行自动MSTest测试吗?,visual-studio-2010,unit-testing,msbuild,automated-tests,mstest,Visual Studio 2010,Unit Testing,Msbuild,Automated Tests,Mstest,我想让MSTest(老实说,我会在这一点上做任何事情)在构建后运行我的测试,然后如果任何测试失败,生成Visual Studio识别的标准文件(lineno):message输出,并允许我直接进入失败点 或者,如果可能,在成功构建之后,我希望“在解决方案中运行所有测试”VisualStudio命令自动启动 据我所知,这是不可能的。MSTest的命令行版本不能生成格式正确的输出(据我所知,NUnit或xUnit也不能),因此,当我将MSTest添加到项目的后期构建中时,我仍然必须四处滚动,寻找失败

我想让MSTest(老实说,我会在这一点上做任何事情)在构建后运行我的测试,然后如果任何测试失败,生成Visual Studio识别的标准
文件(lineno):message
输出,并允许我直接进入失败点

或者,如果可能,在成功构建之后,我希望“在解决方案中运行所有测试”VisualStudio命令自动启动


据我所知,这是不可能的。MSTest的命令行版本不能生成格式正确的输出(据我所知,NUnit或xUnit也不能),因此,当我将MSTest添加到项目的后期构建中时,我仍然必须四处滚动,寻找失败的输出。in-IDE版本工作正常,只要我记得在构建完成时点击
Ctrl-R,A

您可以通过在项目文件中创建自定义目标而不是使用预烘焙的后期构建目标来获得所需的内容。在项目文件中添加类似的内容,并将其编辑为XML

<Target Name="RunUnitTests"
  AfterTargets="CoreBuild">
  <Exec
    Command="mstest /testcontainer:$(OutDir)\PathToUnitTests\UnitTests.dll"
    CustomErrorRegularExpression="^Failed"
    />
</Target>

您需要正确地设置测试程序集的路径或您正在使用的任何其他方法(测试配置文件等),并且您可能需要调整正则表达式,从这里的内存开始

这将运行类似于您在POST生成中可能所做的操作,但增加了MSBube(这是驱动Cype构建系统)检测应该考虑错误的输出字符串的能力。CustomWarningRegularExpression也有一个类似的参数


如果您想在多个项目之间共享此功能,请查找我切换到的“MSBuild Imports”

,然后使用他们的MSBuild单元测试运行程序,我可以得到我想要的功能。

非常接近。但是,它将my.csproj中的行列为错误起始行。精简输出:
proj.csproj(140,5):错误:[errorstacktrace]=在单元测试时。SomethingTest()位于…\FileIactuallyAreabout.cs:line 100
(这是一个自定义正则表达式“^[errorstacktrace]”)。您可能会在这方面找到一些帮助。谢谢,我已经多年没有需要宏了,我忘了VS可以做到这一点。我认为这将是我的解决方案,直到页面下方提到的扩展更加成熟。