はじめに
MSDNの「単体テストを使用したコードの検証」や、「Visual Studio ALM + Team Foundation Server Blog」の「What's New in Visual Studio 11 Beta Unit Testing」などによると、VS11betaの単体テストに関連する機能は次のように変わりました。
新機能や改良された機能
- ユニットテストエクスプローラー
- Fakes isolation framework(以降、Fakes)
- Microsoft Unit Testing Framework for C++(C++のネイティブコード用ユニットテストフレームワーク)
- 従来からのMSTestも改良され、async/awaitのテストが書きやすくなった
- コードカバレッジ取得ツールが改良され、事前の面倒な設定が不要になった
- Expressエディションにも、MSTestとユニットテストエクスプローラーが搭載された
削除された機能
- 単体テスト作成ウィザード、および、その一部であったprivateメソッドをテストするためのプロキシクラス生成機能
- テストインパクト分析
- テストリスト(ユニットテストエクスプローラーで代替)
この記事では、新機能から3つを取り上げて紹介します。
- async/awaitのテスト方法
- 単体テストエクスプローラーでNUnitを統合する方法
- Fakesのスタブとシムを使ったテスト方法
対象読者
Visual Studioの次バージョンに興味をお持ちの開発者(サンプルコードはC#で示しますが、Visual Basicでも同様なので類推してください)。
必要な環境
サンプルコードを試すには、Windows 8 Consumer Preview(以降、Win8CP)とVS11betaが必要です。本稿執筆時点では、下記から入手できます。
- いずれもbeta版であることを理解した上で、お試しください。
- Win8CPは、いくつかのVMソフト上でも動くようです。本稿に載せたキャプチャー画像はすべて、VirtualBoxを使って64bit版を動かしたものです(Win8CP、VS11beta)。
- ご自分で入力して試すには、Windows 7でも構いません。