【C#】Fakesを使った単体テストをCUIでビルド・テスト実行する方法

このエントリーをはてなブックマークに追加

私は普段Visual Studio 2013 Premiumを使って開発を行なっています。

単体テストを書く際に、モックライブラリとしてPremium以上で利用できる「Fakes」を使っています。

Fakesを使って単体テストを書いていて、そのプロジェクトをJenkinsでビルド・テスト実行しようとした際に少しハマったのでまとめておきます。

MSBuildでビルドする

C#のプロジェクトをビルドする時にはMSBuildを使います。

Fakesを導入するとビルド時に必要なモックライブラリを生成してくれます。

この時、Visual StudioのPremium以上がインストールされていないと自動生成されずビルドに失敗してしまいます。

開発している環境と、Jenkinsを置いている環境が異なる場合は注意が必要です。 私の場合JenkinsサーバにはPremium以上がインストールされていなかったのでこれでハマりました。

vstest.consoleで単体テストを実行する

MSTestにFakesを導入して記述した単体テストをコマンドプロンプトから実行します。

この時MSTest.exeでは上手く実行できませんでした。 テストの実行自体はできるのですが、Fakesを使っているテストが失敗してしまいます。

そこで使用するのが、vstest.console.exeという実行ファイルです。

デバッグモードでビルドした際は以下のようなコマンドでテスト実行ができます。

1
$ vstest.console.exe TestProject\bin\Debug\TestProject.dll

オプションに関しては公式サイトを。

私は/Enablecodecoverageでカバレッジ計測、/Logger:trxで結果を出力しています。

さて、ここでまた注意ですが、やはりPremium以上のVisual Studioのインストールが必須となります。

FakesはPremium以上がインストールされていないと利用できないんですね…

Comments