У меня есть несколько тестов SpecFlow в проекте «SpecFlowTests» в VS для запуска, и им нужны файлы тестовых данных. Я использовал файл .testsettings для развертывания файлов, и это сработало. Однако новый агент MsTest больше не поддерживает .testsettings, поэтому мне нужно найти другое решение для развертывания файлов.
В файлах тестовых данных для параметра «Копировать в выходной каталог» установлено значение «Копировать всегда». Они копируются в выходной каталог, и я могу ссылаться на них в коде, получая выходной каталог следующим образом:
public static string AssemblyLocation()
{
var assembly = Assembly.GetExecutingAssembly();
var codebase = new Uri(assembly.CodeBase);
var path = codebase.LocalPath;
return path;
}
Этот подход работает при локальном запуске тестов или при их запуске в составе сборки из TFS, он ищет файлы в следующем расположении:
...\SpecFlowTests\bin\Debug\Helpers\TestDataFile.txt
Однако при попытке запустить их в составе релиза в TFS он ищет файлы тестовых данных в папке Out каталога TestResults и не может их там найти.
C:\buildagent1\_work\r1\a\TestResults\Out\Helpers\TestDataFile.txt
Затем я попытался установить атрибут DeploymentItem в методе BeforeFeature в тестах, но похоже, что он не работает, он должен развернуть файлы тестовых данных в папку Out в TestResults, но это не так.
Поэтому мне нужно общее решение для работы во всех трех ситуациях (запускать тесты локально, запускать их из сборки TFS, запускать их из версии TFS).
Я относительно новичок в этом, поэтому любой совет приветствуется.
Спасибо!
C:\buildagent1\_work\r1\a\TestResults\Deploy_SerTFSBUILD 2017-09-04 20_01_06\Out\Hekpers\TestDataFile.txt
, но там ничего не развернуто. Я пытался добавить задачу копирования файлов перед задачей запуска тестов, но я не знаю, что выбрать в качестве целевой папки, потому что папка TestResults\Deploy_SerTFSBUILD.. создается при тестировании бежать - person cristina   schedule 04.09.2017