Мы используем SpecFlow для применения методов BDD и Pickles для создания документации.Аргумент MSBuild для получения результатов теста импорта соленья вызывает ошибку незаконного пути
Наша сборка выглядит следующим образом:
- Сложение
- Deploy
- тест (с использованием VSTest)
- Сформировать документацию (с использованием соленья)
Генерировать шаг документации приходит после того, как шаг теста, поэтому мы можем включить результаты теста в соленые огурцы. Я хочу использовать соленые огурцы в качестве шага сборки, поэтому я могу управлять версией соленья для использования и дополнительными опциями в каждом решении.
Студия Сложение шаг Визуальная в TFS2017 выглядит следующим образом:
/t:DocumentationGeneration
/p:Pickles_Generate=True
/p:Pickles_DocumentationFormat=dhtml
/p:Pickles_ResultsFile="$(build.sourcesdirectory)/TestResults/*.trx"
/p:Pickles_OutputDirectory="$(build.artifactstagingdirectory)/PickledDocumentation"
[some more generic parameters that are not relevant here]
Когда я выше, я получаю «Недопустимый символ в пути» ошибка во время сборки. Это, кажется, *
вызывает эту ошибку, когда я заменить его /p:Pickles_ResultsFile="$(build.sourcesdirectory)/TestResults/testresults.trx"
нет никаких проблем, только TestResults не найдены, потому что TestResults находятся в не предсказательной формате:
USERNAME_SERVERNAME1234 2017-02-02 09_09_09.trx
Я попытался посмотреть в генерации общего имени для файла .trx, но VSTest не поддерживает пользовательские имена. Кто-нибудь еще столкнулся с этой проблемой и есть ли хороший подход к ее решению?
Возможно, нет другого выбора, кроме как определить точное имя файла. Это не так сложно, это встроенная функциональность msbuild, принцип заключается в передаче пользовательского «PicklesResultsDir» в проект, и при работе с проектом MSbuild ищет файлы с ' '. Вы не говорите, каково ваше решение/макет проекта, поэтому я не могу сказать вам, где именно поставить эту логику. –
stijn