xUnit.NETでユニットテストをしてみよう【前編】 (1) xUnit.NETの入手と環境設定

ニュース
トップ

【ハウツー】

xUnit.NETでユニットテストをしてみよう【前編】

1 xUnit.NETの入手と環境設定

青木淳夫  [2010/07/14]
  • <<
  • <

1/3

xUnit.NETは.NET 2.0以上で動作するテストツールで、MicrosoftのBrad Wilson氏とJames Newkirk氏が中心となって開発を進めています。xUnit.NETは拡張性の向上、カスタム属性の減少、メソッドごとのインスタンス生成を特徴としており、Moq、Ninject、Oxite、KiGGなどのOSSにも採用されています。以下、xUnit.NETの導入方法、テストコードを紹介します。

xUnit.NET の入手と環境設定

xUnit.NET はCodePlexから入手できます。執筆時点での最新バージョンは1.6です。「xunit-1.6.zip」をダウンロードして適当なフォルダ(本稿ではC:\Sample\xunit)に展開します。これには以下のようなファイルが含まれています。

xUnit.NETのWebサイト

インストールウィンドウ(xunit.installer.exe)

  • テストフレームワーク(xunit.dll、xunit.extensions.dll)
  • テストランナー(xunit.console.exe、xunit.gui.exe)
  • インストーラー(xunit.installer.exe)
  • 外部連携用アセンブリ(xunit.runner.msbuild.dll、xunit.runner.tdNET .dll)
  • 整形用スタイルシート(HTML.xslt、NUnitXml.xslt)

必須ではありませんが、インストーラーを起動して初期設定をしておくとよいでしょう。このインストーラーではTestDriven.NETとの連携、ASP.NET MVCのテンプレート追加、GUIテストランナーと拡張子(*.xunit)の関連付けを行うことができます。なお、ReSharperとの連携はxUnit.NET Contribプロジェクトをご覧ください。

テストの準備

それでは、テストプロジェクトを作成しましょう。本稿では、Visual Studio 2010と.NET 4.0を使用します。まず、以下の2つのプロジェクトを内包するソリューションを作成します。

  • 実装プロジェクト(SampleLib.dll)
  • テストプロジェクト(SampleLibTest.dll)

プロジェクトの構成と設定

出力の種類は共に「クラスライブラリ」です。テストプロジェクトでは「xUnit.dll」「xUnit.extension.dll」「SampleLib.dll」に参照設定をします。テストプロジェクトをスタートアッププロジェクトに設定します。

次に、プロジェクトのプロパティでデバッグ実行時にテストランナーが起動するように設定します。バージョン1.6の場合、次の4種類が用意されていますので、テストプロジェクトに応じたテストランナーを選択します。

  • xunit.gui.exe(.NET 3.5以前で64ビット)
  • xunit.gui.x86.exe(.NET 3.5以前で32ビット)
  • xunit.gui.clr4.exe(.NET 4.0で64ビット)
  • xunit.gui.clr4.x86.exe(.NET 4.0で32ビット)

開始オプションのコマンドライン引数にはアセンブリ(*.dll)を設定します。

テストプロジェクト(*.xunit)の作成

現在の設定ではテストランナーを終了する度に確認ダイアログが表示されます。そのため、xUnit.NET のプロジェクトファイル(*.xunit)を作成し、そのパスをコマンドライン引数に設定することも可能です。プロジェクトファイルはテストランナーのProjectメニューから作成できます。

プロジェクトのプロパティ設定(xUnitプロジェクトを呼び出す場合)

インストーラーで関連付けを行っていれば、プロジェクトファイル(*.xunit)をダブルクリックしてテストランナーを起動できます。この場合、テストランナーを起動したままコードの編集を行えます。テスト対象のアセンブリを更新した場合も自動的にリロードされます(バーの色が変わります)。Visual Studioでデバッグはできませんが、状況に応じて使いわけるとよいでしょう。

  • <<
  • <

1/3

インデックス

目次
(1) xUnit.NETの入手と環境設定
(2) テストコードの記述
(3) Fact属性とTrait属性の設定


ITセミナー

一覧
  • Java高速開発ツールの最先端…APサーバの再起動が不要に! 年間約5週間以上の工数を削減
    インフォメーションディベロプメント 照井氏

  • 参加費無料、マイナビニュース主催のITセミナー情報まとめ。勝ち組への一歩はここをチェック!!

注目特集

転職ノウハウ

あなたの仕事適性診断
あなたの仕事適性診断

4つの診断で、自分の適性を見つめなおそう!

Heroes File ~挑戦者たち~
Heroes File ~挑戦者たち~

働くこと・挑戦し続けることへの思いを綴ったインタビュー

はじめての転職診断
はじめての転職診断

あなたにピッタリのアドバイスを読むことができます。

転職Q&A
転職Q&A

転職に必要な情報が収集できます

ドS美人面接官 vs モテたいエンジニア
ドS美人面接官 vs モテたいエンジニア

入室しようとしたら、マサカリ投げられちゃいました!?

特別企画

一覧

    人気記事

    一覧

    イチオシ記事

    新着記事

    長嶋一茂、ファールボール失明訴訟で持論「臨場感は野球の醍醐味」
    [13:21 4/19] エンタメ
    [郷ひろみ]「天皇の料理番」で24年ぶり民放連ドラ出演 ドラマは2省庁とタイアップ
    [13:00 4/19] エンタメ
    腐女子にモテ期到来!? ラブコメ『私がモテてどうすんだ』など第1巻が無料
    [13:00 4/19] エンタメ
    臓器の芽を作製する画期的な培養手法確立
    [12:50 4/19] テクノロジー
    中日バルデスが5度目の先発、広島ジョンソンと左腕対決 19日のセ・リーグ試合予定
    [12:16 4/19] ライフ

    特別企画

    一覧

      求人情報