単体テストの作り方がVisualStudio 2012から変わった

VisualStudioで開発をするとき、単体テストの機能を利用することが多い。

 

これまではVisualStudio 2010を使っていたけど、今日VisualStudio 2012で単体テスト作ろうとして、次のことに気づいたばかりの私が、次の2本の内容を紹介する。

 

VisualStudio 2012の単体試験事情はこうなった

  1. メソッド名右クリックから単体テストの作成ができなくなった(つまり単体テストのプロジェクトも自動作成できない)
  2. テスト設定ファイルが自動生成されなくなった

メソッド名右クリックから単体テストの作成ができなくなった

VisualStudio 2010では、テストしたいメソッド名を右クリックすると、「単体テストの作成」コンテキストが表示されていた。

05

 

ところが、VisualStudio 2012では、メソッド名を右クリックしても、「単体テストの作成」コンテキストが表示されなくなっている。

07

 

そのため、単体テストを作成するためには、手作業で単体テスト用プロジェクト作成とテストファイル作成をしなければいけなくなった。

これがけっこう面倒くさい。

 

VisualStudio 2012での単体テスト作成手順

クラスライブラリのプロジェクトを作成する

130116-002

 

プロジェクトの参照設定にMicrosoft.VisualStudio.QualityTools.UnitTestFrameworkを追加する

130116-003

 

C#クラスファイルを作成する(VB.NETならVBファイル)

130116-004

 

作成したクラスファイルに単体テストの雛形を適用する

このあたりはVisualStudio 2010で作成される単体テストクラスの雛形をコピペでOK。

あとは必要な数だけテストメソッドを作成していけばいい。

 

そのほか、VisualStudio 2010以前の単体テスト雛形を使用する場合は、TestInitialize属性をつけたメソッドが昔はstaticだったのがVisualStudio 2010からはstaticでない点に注意が必要。

VisualStudioのUnitTestで「不適切なシグネチャを含んでいます」エラー

テスト設定ファイルが自動生成されなくなった

VisualStudio 2010では、単体テスト作成時に、自動的にLocal.testsettingsというファイルが作成されていて、あとはVisualStudio上からテスト時のリソース設定などを行うことができた。

それに対してVisualStudio 2012では、単体テストプロジェクトもテストも手作業で作成するようになったため、当然といえば当然であるけど、テスト設定ファイルも手動生成しなければいけなくなった。

 

テスト設定ファイルの作成は必須というわけではないものの、テスト実行時にリソースを扱いたい場合やテスト前後でバッチプログラムなどを実行したい場合に必要になる。

 

テスト設定ファイル *.testsettingsの作成手順

ソリューションエクスプローラのソリューション部分を選択した状態で右クリックして表示されるコンテキストから[追加]→[新しい項目]を選択

01

 

新しい項目の追加ダイアログで[テストの設定]を選択して任意のファイル名に変更し追加

130116-006

 

これをやってやっとテストの設定を行うことができるようになる。

130116-007

 

テスト設定ファイル *.testsettingsの適用手順

テスト設定ファイルを作成しただけでは、まだソリューションから使用されないっぽい。

ソリューションからどのテスト設定を使用するのかを、ちゃんと設定しないといけない。

 

メニューから[テスト]→[テスト設定]→[テスト設定ファイルの選択]

02

 

作成したテスト設定ファイルを選択すると、そのテスト設定ファイルが参照されるようになる。

03

 

複数のテスト設定ファイルを作成して同様にテスト設定ファイルの選択をすると、複数のファイルが参照されるようになる。

04

実行するテストに合わせて切り替えることができるという利点があるってことか?

これは私も使い込んでからのお楽しみ・・

コメントを残す

トラックバック: http://pgnote.net/wp-trackback.php?p=1680