заказанный тест не пройден на консоли vstest - PullRequest
0 голосов
/ 31 октября 2018

Проект, содержащий заказанный тест, имеет .NET Framework 4.6.1 в качестве целевой платформы. Заказанный тест был сделан с vs2017.

Я использую TFS версии 15.117.27414.0, где у меня есть сборка и определение выпуска, чтобы развернуть тест на машине в моей тестовой среде. Проект UItest, содержащий мой заказанный тест, получает сборку агентом сборки на сервере сборки. Сервер сборки использует Visual Studio Enterprise 2017 версии 15.7.6.

Определение выпуска содержит только тестовую задачу Visual Studio:

  • выбрана версия 2
  • с использованием тестовых сборок с путем, указывающим на мой файл .orderedtest.
  • test mix содержит проверенные пользовательские интерфейсы.
  • версия тестовой платформы vs 2017

Тестовый агент, выполняющий этот тест, установлен на компьютере в моей тестовой среде и настроен для запуска тестов пользовательского интерфейса.

Это журналы TFS после развертывания релиза:

##[section]Starting: VSTest - Test assemblies
==============================================================================
Task         : Visual Studio Test
Description  : Run tests with Visual Studio test runner
Version      : 2.0.55
Author       : Microsoft Corporation
Help         : [More Information](https://go.microsoft.com/fwlink/?LinkId=835764)
==============================================================================
Run the tests locally using vstest.console.exe
========================================================
Test selector : Test assemblies
Test assemblies : Deploy and Distributed Test-CI\drop\completeRun.orderedtest
Test filter criteria : null
Search folder : C:\agent\_work\r1\a
Run settings file : C:\agent\_work\r1\a
Run in parallel : false
Run in isolation : false
Path to custom adapters : null
Other console options : null
Code coverage enabled : false
VisualStudio version selected for test execution : 15.0
[command]powershell -NonInteractive -ExecutionPolicy Unrestricted -file C:\agent\_work\_tasks\VSTest_ef087383-ee5e-42c7-9a53-ab56c98420f9\2.0.55\vs15Helper.ps1
<Objs Version="1.1.0.1" xmlns="http://schemas.microsoft.com/powershell/2004/04">
  <S>C:\Program Files (x86)\Microsoft Visual Studio\2017\TestAgent</S>
</Objs>
[command]wmic datafile where "name='C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\TestAgent\\Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow\\vstest.console.exe'" get Version /Value

Version=15.0.27924.0 


Version=15.0.27924.0

========================================================
[command]"C:\Program Files (x86)\Microsoft Visual Studio\2017\TestAgent\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "C:\agent\_work\r1\a\Deploy and Distributed Test-CI\drop\completeRun.orderedtest" /logger:trx "/TestAdapterPath:\"C:\agent\_work\r1\a\""
Microsoft (R) Test Execution Command Line Tool Version 15.8.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...
An exception occurred while invoking executor 'executor://orderedtestadapter/v1': Method not found: 'Void Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration.AddTestSettingsProperties(System.Collections.Generic.Dictionary`2<System.String,System.Object>)'.

Test Run Failed.
##[warning]Vstest failed with error. Check logs for failures. There might be failed tests.
##[error]Error: C:\Program Files (x86)\Microsoft Visual Studio\2017\TestAgent\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe failed with return code: 1
##[warning]No results found to publish.
##[error]Vstest exited with return code: 1.
##[section]Finishing: VSTest - Test assemblies
##[section]Finishing: Release

Я искал это исключение в сети, но пока не нашел ничего полезного. Я попытался запустить заказанный тест непосредственно на тестовой машине, используя консоль vstest на этой машине, но он дал мне те же результаты. Поэтому я думаю, что мои определения сборки и выпуска в порядке.

UPDATE:

Я изменил целевую платформу .net на .net 4.5, потому что vstest.console.exe не упоминал .net framework 4.6.1 в качестве аргумента для целевых платформ. Это не помогло. Я обнаружил, что могу запустить заказанный тест через консоль vstest на своем компьютере разработчика, поэтому я думаю о том, что на тестовой машине отсутствуют библиотеки DLL. Обратите внимание, что vs2017 не установлен на тестовом компьютере.

1 Ответ

0 голосов
/ 07 ноября 2018

Очевидно, удаленный отладчик, установленный на удаленном компьютере, вызывал проблемы. После его удаления консоль vstest смогла воспроизвести мой заказанный тест. Эта проблема должна быть решена с помощью последней версии удаленного отладчика.

Этот пост на форуме сообщества разработчиков Microsoft приводит к такому решению: https://developercommunity.visualstudio.com/content/problem/169183/coded-ui-cant-run-test-in-vs-enterprise-2017-1552.html

...