読者です 読者をやめる 読者になる 読者になる

Visua Studio 2015 Preview その1~単体テスト~

Visual Studio 2015が今年リリース予定となっています。
Visual Studio 2015は全てのプラットフォームの開発をVisual Studioで行うことを目指しているとのことで、その方向性はプロジェクト作成時から感じられます。

@IT Visual Studio 2015の新機能をプレビュー版で見てみよう
http://www.atmarkit.co.jp/ait/articles/1412/08/news126.html

Visua Stuido 2015プレビュー版のダウンロード
https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx

プロジェクト作成

[新しいプロジェクト]ウィンドウ内に注目です。 Android, iOS等のテンプレートが!

f:id:ihisa:20150310125706p:plain

単体テスト(スマートユニットテスト

今回は個人的に注目している単体テストについてです。
スマートユニットテストと呼ばれるこのテストはカバレッジが最大となるようケースを自動作成してくれるとのことです。

C#のコンソールアプリケーションを選択してプロジェクト作成したところです。

f:id:ihisa:20150310125729p:plain

なにやら[0個の参照]の文字が確認できますが、これは次回。

クラスを2つ追加してみます。
intへのキャストチェックをしていません。

f:id:ihisa:20150310125748p:plain

これをテストしてみます。クラス上で右クリック。
メニューの中に[Smart Unit Tests]の文字が。

f:id:ihisa:20150310125805p:plain

クリックすると・・・・テストが始まりました!

f:id:ihisa:20150310125830p:plain

真っ赤です!! 数行のコードクラスにも関わらず、自動作成されたケースは12件もあります。
クラス参照null時、クラス内プロパティ値null時等のケースが作成され実行されています。

クリックする事でテストコードおよびスタックトレースも参照できます。

f:id:ihisa:20150310125845p:plain

オールグリーンとするため、クラスを修正します。

f:id:ihisa:20150310125857p:plain

再度Smart Unit Tests!

f:id:ihisa:20150310125907p:plain

引数nullのケースがレッドのままですが、それ以外はめでたくオールグリーンとなりました。
コードに合わせたケースを自動生成した結果、ケースは13件になっています。

もちろんここから単体テストプロジェクト等に保存もできます。

f:id:ihisa:20150310125933p:plain

右クリックから[保存]すると・・・

f:id:ihisa:20150310125949p:plain

テストプロジェクトが作成されました。

先ほどのレッドのケースを右クリック→[許可する]として再度テスト実行すると

f:id:ihisa:20150310130005p:plain

オールグリーンになりました。

保存したテストを[テスト]→[実行]→[全てのテスト]で実行してみます。

f:id:ihisa:20150310130030p:plain

ケースが26ケースになっていますが、これは先ほどの[許可する]の際に、全テストケースがまた作られた影響の様です。
ここらへんはリリースまでに改善されるのではないでしょうか。
また、テストケースごとに実行時間が表示されている事がわかります。

カバレッジ

カバレッジを見てみます。
[テスト]→[コードカバレッジの分析]→[すべてのテスト]を開きます。

f:id:ihisa:20150310180747p:plain

スマートユニットテスト対象としたCalculationクラスのカバレッジが100%になっています。
カバレッジの指標(c0 / c1 / c2)は指定できない様です。

レポートも動的に確認できます。

f:id:ihisa:20150310180818p:plain

実際運用する際は当然ながら作成されたケース+αは必要にはなりますが、
箱しか作成できなかったいままでの単体テストからはかなり便利!になった様に思えます。これは期待!