10
前幾天我看了一個BDD screencast由Rob Conery。在視頻中他展示瞭如何使用MSpec,所以我下載了它並使用了這些位。我現在想要的是將MSpec與MS Build集成,但我不知道如何......我使用TFS團隊構建作爲我的CI服務器 - 您能幫我將MSpec與MSBuild集成嗎?如何將MSpec與MS Build整合?
謝謝!
前幾天我看了一個BDD screencast由Rob Conery。在視頻中他展示瞭如何使用MSpec,所以我下載了它並使用了這些位。我現在想要的是將MSpec與MS Build集成,但我不知道如何......我使用TFS團隊構建作爲我的CI服務器 - 您能幫我將MSpec與MSBuild集成嗎?如何將MSpec與MS Build整合?
謝謝!
目前最簡單的方法就是執行它。
<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
請注意,當您使用NAnt進行此操作時,請使用arg line =「assembly1 assembly2」而不是arg值(否則您會得到一個非常不明顯的錯誤) – Neal 2009-10-20 02:00:10