Подтвердить что ты не робот

Как заставить TeamCity запускать тесты с использованием MSTest?

Я пытаюсь выяснить, как заставить TeamCity запускать мои MSTests. У меня есть шаг сборки, используя следующие параметры:

  • Путь к MSTest.exe:% system.MSTest.10.0%
  • Список файлов сборки: Проекты\Метаданные.. Тесты \bin\Debug\Metadude..Test.dll
  • Файл конфигурации MSTest: Local.testsettings

Однако, когда этот шаг выполняется, он не выполняет никаких тестов. Это вывод из журнала:

[02:13:49]: Step 2/2: Run Unit Tests (MSTest)
[02:13:49]: [Step 2/2] Starting: "D:\Program Files (x86)\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe" #TeamCityImplicit
[02:13:49]: [Step 2/2] in directory: D:\Program Files (x86)\TeamCity\buildAgent\work\1f82da3df0f560b6
[02:13:50]: [Step 2/2] Microsoft (R) Test Execution Command Line Tool Version 10.0.30319.1
[02:13:50]: [Step 2/2] Copyright (c) Microsoft Corporation. All rights reserved.
[02:13:50]: [Step 2/2]
[02:13:50]: [Step 2/2] Please specify tests to run, or specify the /publish switch to publish results.
[02:13:50]: [Step 2/2] For switch syntax, type "MSTest /help"
[02:13:50]: [Step 2/2] Process exited with code 1
[02:13:50]: Publishing internal artifacts
[02:13:50]: [Publishing internal artifacts] Sending build.finish.properties.gz file
[02:13:50]: Build finished

Я попытался указать тесты для запуска, используя следующее:

  • Тесты: Тесты .Metadude.Core.Extensions.StringExtensionsTests

Но это не работает. Я не могу найти какую-либо документацию по Google, связанную с шагом сборки MSTest в TeamCity.

UPDATE Хорошо, я идиот. Ну, это может быть немного суровым, но тестовая сборка не указала "s" из названия сборки. Было бы неплохо получить что-то подобное в журнале сборки.

4b9b3361

Ответ 1

Во-первых, убедитесь, что сборка, которую вы пытаетесь протестировать, существует в этом месте.

т

ваш относительный путь:  Проекты \Metadude..Tests\Bin\Debug\Metadude..Test.dll

Однако я ожидал бы что-то, записанное TC, если ваш файл не существует. Похоже, что он работает MSTest без каких-либо аргументов.

Если вы уверены, что путь правильный, попробуйте его, не указав файл .testsettings, чтобы узнать, что произойдет. Я использую MSTest успешно в TC без этого (но вам это может понадобиться). Другое дело, что я делаю разные, я указываю FULL путь к MSTest.exe, то есть

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe

вместо их переменной '%system.MSTest.10.0%'

Я не могу вспомнить, почему я это сделал, но была бы веская причина (например, он не работал при использовании своей переменной)