Как запустить mstest с VSTEST.CONSOLE.EXE в powershell - PullRequest
0 голосов
/ 22 апреля 2019

После прочтения и экспериментирования доступных постов в переполнении стека я задаю этот вопрос.

Я пытаюсь вызвать MSTEST в powershell

Вот моя попытка (очевидно, с помощью сообщений, доступных в переполнении стека)

$testDLL = "C:\Automation\Tests\My.Tests.dll"
$fs = New-Object -ComObject Scripting.FileSystemObject
$f = $fs.GetFile("C:\Program Files (x86)\Microsoft Visual Studio\2017\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.Моя цель - использовать вышеуказанный скрипт powershell в пошаговом процессе Octopus Deploy для запуска тестов.Если кто-нибудь знает простой или лучший способ сделать это, пожалуйста, поделитесь ...

Спасибо

1 Ответ

0 голосов
/ 21 мая 2019

Спасибо всем, я использовал приведенный ниже код, чтобы он работал.

$command = "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"
$arguments = @('C:\Automation\Tests\My.Tests.dll', '/TestCaseFilter:"TestCategory=FunctionalTests"')
& $command $arguments

@ Leee_Dailey - Простите за путаницу. Я просто пытаюсь вызвать тесты из «Встроенного исходного кода» Octopus Deploy (OD) для шаблона «Выполнить скрипт» с помощью команд powershell. Я начал экспериментировать в PowerShell, чтобы он работал локально, прежде чем использовать в OD. Прямой ответ не найден, когда я делаю поиск. Я получил некоторое время и понял это. Надеюсь, что этот код будет полезным для кого-то. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...