如何在 powershell 中使用 VSTEST.CONSOLE.EXE 运行 mstest
How to run mstest with VSTEST.CONSOLE.EXE in powershell
在阅读并试验了 Stack overflow 中的可用帖子后,我提出了这个问题。
我很难在 powershell 中触发 MSTEST
这是我的尝试(显然是在堆栈溢出中可用的帖子的帮助下)
$testDLL = "C:\Automation\Tests\My.Tests.dll"
$fs = New-Object -ComObject Scripting.FileSystemObject
$f = $fs.GetFile("C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe")
$vstestPath = $f.shortpath
$arguments = " " + $testDLL + ' /TestCaseFilter:"TestCategory=FunctionalTests"'
Write-Host $arguments
& $vstestPath $arguments
控制台输出:
PS C:\Users\myuser\Desktop\Powershell scripts> .\exp5.ps1
C:\Automation\Tests\My.Tests.dll /TestCaseFilter:"TestCategory=FunctionalTests"
Microsoft (R) Test Execution Command Line Tool Version 15.9.1
Copyright (c) Microsoft Corporation. All rights reserved.
VSTEST~1.EXE : The test source file "C:\Automation\Tests\My.Tests.dll /TestCaseFilter:TestCategory=FunctionalTests" provided was not found.
At C:\Users\myuser\Desktop\Powershell scripts\exp5.ps1:7 char:1
+ & $vstestPath $arguments
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (The test source... was not found.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
Usage: vstest.console.exe [Arguments] [Options] [[--] <RunSettings arguments>...]]
Description: Runs tests from the specified files.
Arguments:
[TestFileNames]
Run tests from the specified files. Separate multiple test file names
.
.
.
. etc
如果我 运行 在正常的 windows cmd 提示符下,那么测试 运行 没有任何问题,但是当我尝试从 powershell 触发时出现上述错误。
谁能帮我看看我的脚本有什么问题。
如果我的脚本很复杂或没有意义,请原谅我,因为我是 powershell 的新手。我的目标是在 Octopus Deploy 步骤过程中使用上述 powershell 脚本来触发测试。如果有人知道简单或更好的方法,请分享...
谢谢
谢谢大家,我已经使用下面的代码让它工作了。
$command = "C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"
$arguments = @('C:\Automation\Tests\My.Tests.dll', '/TestCaseFilter:"TestCategory=FunctionalTests"')
& $command $arguments
@Leee_Dailey - 抱歉造成混淆。我只是想使用 powershell 命令从 Octopus Deploy (OD) 'Inline Source Code' for 'Run Script' 模板触发测试。在 OD 中使用之前,我已经开始在 PowerShell 中进行试验以使其在本地工作。当我进行搜索时,没有找到直接的答案。我有时间弄明白了。希望这段代码对某人有帮助。谢谢。
在阅读并试验了 Stack overflow 中的可用帖子后,我提出了这个问题。
我很难在 powershell 中触发 MSTEST
这是我的尝试(显然是在堆栈溢出中可用的帖子的帮助下)
$testDLL = "C:\Automation\Tests\My.Tests.dll"
$fs = New-Object -ComObject Scripting.FileSystemObject
$f = $fs.GetFile("C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe")
$vstestPath = $f.shortpath
$arguments = " " + $testDLL + ' /TestCaseFilter:"TestCategory=FunctionalTests"'
Write-Host $arguments
& $vstestPath $arguments
控制台输出:
PS C:\Users\myuser\Desktop\Powershell scripts> .\exp5.ps1
C:\Automation\Tests\My.Tests.dll /TestCaseFilter:"TestCategory=FunctionalTests"
Microsoft (R) Test Execution Command Line Tool Version 15.9.1
Copyright (c) Microsoft Corporation. All rights reserved.
VSTEST~1.EXE : The test source file "C:\Automation\Tests\My.Tests.dll /TestCaseFilter:TestCategory=FunctionalTests" provided was not found.
At C:\Users\myuser\Desktop\Powershell scripts\exp5.ps1:7 char:1
+ & $vstestPath $arguments
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (The test source... was not found.:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
Usage: vstest.console.exe [Arguments] [Options] [[--] <RunSettings arguments>...]]
Description: Runs tests from the specified files.
Arguments:
[TestFileNames]
Run tests from the specified files. Separate multiple test file names
.
.
.
. etc
如果我 运行 在正常的 windows cmd 提示符下,那么测试 运行 没有任何问题,但是当我尝试从 powershell 触发时出现上述错误。
谁能帮我看看我的脚本有什么问题。
如果我的脚本很复杂或没有意义,请原谅我,因为我是 powershell 的新手。我的目标是在 Octopus Deploy 步骤过程中使用上述 powershell 脚本来触发测试。如果有人知道简单或更好的方法,请分享...
谢谢
谢谢大家,我已经使用下面的代码让它工作了。
$command = "C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"
$arguments = @('C:\Automation\Tests\My.Tests.dll', '/TestCaseFilter:"TestCategory=FunctionalTests"')
& $command $arguments
@Leee_Dailey - 抱歉造成混淆。我只是想使用 powershell 命令从 Octopus Deploy (OD) 'Inline Source Code' for 'Run Script' 模板触发测试。在 OD 中使用之前,我已经开始在 PowerShell 中进行试验以使其在本地工作。当我进行搜索时,没有找到直接的答案。我有时间弄明白了。希望这段代码对某人有帮助。谢谢。