CruiseControl.NET で MSTest (VisualStudio 2008 Professional版) を利用する

MSTest and CruiseControl .NET を参考に設定した。

ポイントは

  1. (ccnet.config) MSTest.exe 実行時に /resultsfile オプションで出力ファイルを指定する
  2. (ccnet.config) publishers 要素の中で、この出力ファイルの merge を指定する
  3. (dashboard.config) MSTest Report のメニューを表示させる。xsl ファイルそのものは最初から提供されている。
  4. 出力ファイルについては、テスト実行前に消去しておく

また、自分で設定した際には、MSTest.exe の引数で、テストメタデータ = 拡張子 vsmdi のファイルを指定することにより、VisualStudio 上で作成したテストリストを利用した。ccnet.config の該当部分の例は以下の通り。

      <exec>
            <!-- 単体テスト実行 -->
            <executable>C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\mstest.exe</executable>
            <baseDirectory>C:\BuildController\SampleProject</baseDirectory>
            <buildArgs>/testmetadata:SampleProject.vsmdi /testlist:ccnetBizLogic /testlist:ccnetDataAccess /resultsfile:testResults.trx</buildArgs>
            <buildTimeoutSeconds>600</buildTimeoutSeconds>
      </exec>

(追記) http://blogs.blackmarble.co.uk/blogs/bm-bloggers/archive/2006/06/14/5255.aspx における設定のうち、dashboard.config に追加するエントリが xsl\MsTestSummary.xsl になっているが、これは xsl\MsTestReport.xsl の間違いだった。

(5/7 追記) http://www.codeproject.com/KB/tips/VSTS2008_Tests_With_CCNET.aspx にVisualStudio 2008 における MSTest.exe 用の XSL ファイルと設定方法があった。XMLの出力形式が変更になっていたとのことだ。

(5/7 追記) CCNETとMSTestを使った常時結合 TypeMock を利用した単体テストにするにあたって MSBuild 経由で MSTest.exe を実行する必要がでてしまった。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。