Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

コーディング機能やデバッグやテストの機能が大幅パワーアップ! 次期バージョン「Visual Studio 2017 RC」

次期バージョン「Visual Studio 2017(Visual Studio "15")」先取り特集 第2回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2016/12/14 14:00

目次

パワーアップしたデバッグとテスト機能

パワーアップしたデバッグ機能

 デバッグ機能にも新機能が加わりました。

 デバッグ実行中に、テキストエディター中のコードをマウスで指定することで、その行まで実行するアイコンが出現するようになりました(図14)。このアイコンをクリックするだけで、その行まで実行されます。ブレークポイントの設置は不要です。

図14. ここまで実行
図14. ここまで実行

 さらに、コードの右側には診断ツールウィンドウを開くためのリンクが出現するようになりました(図15)。

図15. クリックして診断ツールウィンドウを開く
図15. クリックして診断ツールウィンドウを開く

ライブユニットテスト

 ここで、特におすすめの新機能を紹介します。Visual Studio 2017では、単体テスト(ユニットテスト)の機能がとても強力になりました。

 単体テストはプログラミングにおいて、とても重要なものですが、クラスやメソッドなどに対してテストコードを書いてテストを実行し、どのくらいのコードがテストを通ったかのカバレッジ(網羅率)を確認するのは、少し手間がかかる作業でした。面倒に思って、ついつい単体テストを後回しにするプログラマーも多かったのではないでしょうか。

 新しい「ライブユニットテスト」機能を使うと、とても楽に単体テストを行うことができます。

 試してみましょう。メニューから、[テスト]-[Live Unit Testing]-[Start]を選択します(図16)。

図16. ライブユニットテストの開始
図16. ライブユニットテストの開始

 この状態で、テストしたいクラスを見ると、コードの各行の左側に青い線が出ています(図17)。これは、各行がまだテストされていないことをあらわしています。

図17. ライブユニットテスト テスト作成前
図17. ライブユニットテスト テスト作成前

 単体テストを作ってみましょう。テストしたいクラスの名前を右クリックして、「単体テストの作成」を行ってみます。テストが作成されると、自動でテストが走り、失敗したテストコードの左側に赤い×が表示されます(図18)。

図18. ライブユニットテスト テスト作成直後
図18. ライブユニットテスト テスト作成直後

 ここでテストを実際のものに書き換えてみます。すると、またすぐに自動でテストが走ります。そして、成功したテストコードの左側が緑のチェックに変わります(図19)。

図19. ライブユニットテスト 成功したテスト
図19. ライブユニットテスト 成功したテスト

 テスト対象のコードに戻ってみると、やはり成功した部分の左側が緑のチェックに変わっています(図20)。

 このとき、テスト対象のコードにバグがあってテストが通っていなかった場合は、その部分は赤い×が付いたままです。バグを修正すると、とたんに緑のチェックに変わります。

図20. ライブユニットテスト テストが通ったコード
図20. ライブユニットテスト テストが通ったコード

 これはとても強力な機能です。テストを追加するだけで、まだ成功していないテストやまだテストが通っていないコードに赤い×が付きます。それがテストが通るようにコードを書き換えていくとともに、どんどんリアルタイムで緑のチェックに変わっていくわけです。テストはバックグラウンドで自動で行われるので、テストを行うためにいちいち構える必要はありません。

 きっとテストが楽しくなるに違いありません。テスト駆動開発(Test-Diven Development:TDD)なども、とてもリズム良く行えるようになることでしょう。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 小島 富治雄(フジヲ)

    Microsoft MVP for C# (2005.07~)。 - 注目の MVP - Blog: プログラミング C# - 翔ソフトウェア (Sho's) - Web Site: 翔ソフトウェア (Sho's) - Twitter: Fujiwo...

バックナンバー

連載:次期バージョン「Visual Studio 2017(Visual Studio "15")」先取り特集
All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5