2017-06-11 21 views
1

如何使用Powershell脚本在解决方案目录中运行所有单元测试。 我试着用下面的命令使用MSTest.exe运行单元测试的Powershell脚本

$tool = '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe"' 

$x = ""; dir D:\DropBuildOutput\*.Tests.dll -Recurse | foreach { $x += "/testcontainer:""$_"" " }; iex "$tool $x" 

但其错误below.How我可以运行所有测试并生成结果失败?

iex : At line:1 char:79 
+ ... (x86)\Microsoft Visual Studio 14.0\Common7\IDE\MSTest.exe" /testcont ... 
+                 ~ 
You must provide a value expression following the '/' operator. 
At line:1 char:79 
+ ... STest.exe" /testcontainer:"D:\DropBuildOutput\_PublishedWebsites\SCJ. ... 
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
Unexpected token 
'testcontainer:"D:\DropBuildOutput\_PublishedWebsites\aaa.aaa.aaa.aaa\bin\xxx.aaa.aaa.Tests.dll"' in 
expression or statement. 
At line:2 char:100 
+ ... -Recurse | foreach { $x += "/testcontainer:""$_"" " }; iex "$tool $x" 
+               ~~~~~~~~~~~~~~ 
    + CategoryInfo   : ParserError: (:) [Invoke-Expression], ParseException 
    + FullyQualifiedErrorId : ExpectedValueExpression,Microsoft.PowerShell.Commands.InvokeExpressionCommand 

回答

0

使用电话运营商&而不是Invoke-Expression

& $Tool $x 
+0

仍然收到错误在行:4字符:102 + ... ...你-Recurse | foreach {$ x + =“/ testcontainer:”“$ _”“”}; &“$ tool $ x” + ~~~~~~~~~~ + CategoryInfo:ObjectNotFound :(“C:\ Program Fil ... rms.Tests.dll”:String)[],CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException –