Как установить переменную Azure DevOps из задачи Visual Studio Test, чтобы следующий встроенный скрипт PowerShell мог ее прочитать? - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь задать переменную DevOps Azure в конвейере выпуска во время задачи теста Visual Studio. Из кода теста Visual Studio C # я хочу установить переменную выпуска ADO в зависимости от того, пройден тест или нет. Затем я буду читать эту переменную в следующей задаче Release, встроенном скрипте Powershell, для выполнения отдельных задач.

Я пытался использовать Console.WriteLine("##vso[task.setvariable variable=<VARIABLE_NAME>;]<VALUE>") в моем коде C # Visual Studio Test, но это не такустановить переменную. Однако когда я использую встроенный скрипт Powershell для установки переменной с помощью Write-Host "##vso[task.setvariable variable=<VARIABLE_NAME>;]<VALUE>", она работает правильно.

Можно ли установить переменную ADO Release с помощью C # из задачи теста Visual Studio? Или вы можете устанавливать переменные только с помощью сценария / задачи Batch / Powershell / Shell? Если это так, у кого-нибудь есть предложения, как это сделать?

1 Ответ

1 голос
/ 14 октября 2019

Как установить переменную Azure DevOps из задачи Visual Studio Test, чтобы следующий встроенный скрипт PowerShell мог ее прочитать?

Действительно, как сказал jessehouwing:

vstest redirects the console output to the trx file.

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

Чтобы решить эту проблему, можно попробовать следующий метод:

Добавьте две встроенные задачи PowerShell, чтобы установить переменную выпуска ADO на основе результатов предыдущих задач (включая задачу VS VS Test):

enter image description here

Затем добавьте еще одну задачу powershell, чтобы задать переменную ADO Release на основе успешных результатов всех предыдущих задач (включая тестовую задачу VS).

Надеюсь, это поможет.

...