Как разрешить исключение TFS DirectoryNotFoundException после выполнения упорядоченного теста? - PullRequest
0 голосов
/ 05 июня 2018

У нас есть сервер TFS 2013, который выполняет наши сборки CI при каждой регистрации, но у нас также есть ночная сборка, которая выполняет весь наш набор тестов (некоторые из них действительно дорогие db-тесты), когда никого нет рядом.

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

Тестовый метод TrackerTests.Accounting.ActionTests.AccountingActionFactoryTests.AccountingActionFactoryGeneratesCorrectActionsForSampleTestData сгенерировал исключение: System.IO.DirectoryNotFoundException: не удалось найти часть пути 'C: \ Builds \ 3 \ Tracker2 \ TestLight2TB TULLTUBTUB TULLU \ TULLUB TULLU-TFS-TB-TUUUU TildUB TildU06-01 12_39_47 \ Out \ Accounting \ SourceData \ Prepay-Cleared-12-16-2013-to-12-22-2013-schema.xml '.в System.IO .__ Error.WinIOError (Int32 errorCode, String MaybeFullPath) в System.IO.FileSt

Тот факт, что все эти тесты выполняются нормально, когда их нет в контейнере Ordered Test, заставляет меня думать, что япросто нужно сказать ему, как попасть на правильный путь.Правильный путь будет следующим:

C: \ Builds \ 3 \ Tracker2 \ Tracker Edge Ночной тестовый прогон \ src_projects \ Tracker2 \ TrackerEdge \ TrackerTests \ Accounting \ SourceData \

Но как / где мне это сделать?Я попробовал свои силы в использовании файла testSetting, но не смог заставить его работать.

1 Ответ

0 голосов
/ 08 июня 2018

В конечном итоге я выяснил, что тесты отсортированы по пространству имен - по крайней мере, на верхнем уровне.Это произошло после создания файла .runsettings и управления элементом ResultsDirectory.Это повлияло на то, куда сервер сборки отправляется на поиск файлов, но сервер сборки все еще хотел добавить к нему пару уровней подпапок.

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

...