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属性の設定


オススメのホワイトペーパー [PR]

一覧

転職ノウハウ

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

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

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

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

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

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

転職Q&A
転職Q&A

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

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

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

特別企画 [PR]

一覧

    人気記事

    一覧

    イチオシ記事

    新着記事

    東武鉄道「スカイツリートレイン」大宮~浅草間の臨時特急を土曜限定で増発
    [20:29 7/29] 旅行
    LINE、青少年のネット利用状況を10万人規模で調査へ
    [20:27 7/29] エンタープライズ
    『バケモノの子』細田守監督が明かす、渋谷の面白さと「渋天街」の着想
    [20:25 7/29] ホビー
    IRいしかわ鉄道・あいの風とやま鉄道、1日乗り放題の共同企画乗車券を発売
    [20:17 7/29] 旅行
    [NARUTO]新作劇場版のスペシャル映像が公開 マンガ名場面で感動再び
    [19:44 7/29] ホビー

    特別企画 [PR]

    一覧

      求人情報