Как интегрировать MSpec с MS Build?
-
06-09-2019 - |
Вопрос
Несколько дней назад я посмотрел Скринкаст BDD к Роб Конери.В видео он показал как пользоваться MSpec, поэтому я скачал его и поигрался с битами.Сейчас я хочу интегрировать MSpec с MS Build, но я не знаю, как...Я использую сборку команды TFS в качестве своего CI-сервера. Можете ли вы помочь мне с интеграцией? MSpec с MSBuild?
Спасибо!
Решение
На данный момент самый простой способ — просто выполнить это.
<Target Name="RunSpecs">
<PropertyGroup>
<MSpecCommand>
lib\machine\specifications\Machine.Specifications.ConsoleRunner.exe $(AdditionalSettings) path\to\your\project\bin\Debug\Your.Project.Specs.dll path\to\your\other\project\bin\Debug\Your.Other.Project.dll
</MSpecCommand>
</PropertyGroup>
<Message Importance="high" Text="Running Specs with this command: $(MSpecCommand)"/>
<Exec Command="$(MSpecCommand)" />
</Target>
Редактировать:Обратите внимание на дополнительные настройки: вы можете вызвать цель следующим образом:
<MSBuild Projects="yourmsbuild.msbuild" Targets="RunSpecs" Properties="AdditionalSettings=-s -t -i "web" --html Specs\Specs.html"/>
Если вы передадите --teamcity в качестве аргумента, он выведет данные журнала, специфичные для TeamCity, поэтому TeamCity будет отслеживать ваши тесты.
Machine.Specifications
Copyright (C) 2007, 2008
Usage: mspec-runner.exe [options] <assemblies>
Options:
-i, --include Executes all specifications in contexts with these comma delimited tags. Ex. -i "foo,bar,foo_bar"
-x, --exclude Exclude specifications in contexts with these comma delimited tags. Ex. -x "foo,bar,foo_bar"
-t, --timeinfo Shows time-related information in HTML output
-s, --silent Suppress console output
--teamcity Reporting for TeamCity CI integration.
--html <PATH> Outputs an HTML file(s) to path, one-per-assembly w/ index.html (if directory, otherwise all are in
one file)
-h, --help Shows this help message
Не связан с StackOverflow