クラスライブラリを作成します。
クラスの雛形が出てきます。
今回はstaticな四則演算クラスを作りたいと思います。
簡単に作りました。
メソッドの上で右クリックをして、コンテキストメニューが出てきますので、その中の単体テストの作成を選択します。
どのメソッド、どのクラスのテストを作成するかを選択します。
今回はテスト用のプロジェクトもありませんのでテストプロジェクトの名前を設定します。
このようにVisual Studioおとくいのテンプレートが作成されました。
今回は3+2=5をチェックしたいとい思いますので、xに3、yに2を足してexpectedに5を設定します。
テストビューでテストを行うテストメソッドを選択します。すべてのテストを行う場合にはCtrl+Shift+Xで行うことが出来ます。
成功とチェックマークが付きました。
<<拍手>>
このようにVisual Studioではテストを実行することだけに専念することが出来ます。
テストファーストの呪縛にとらわれることなく、実際に組んだコードを元にテストコードを出力させる方が効率がよいと思います。
さて次にオーバーフローが発生するかどうかの確認を行います。
先ほどのテストコードをコピペして、新しいメソッドにします。
xはMaxValue, yは1としておけばおそらくOverFlowExceptionが発生してくれるのではないでしょうか。
Assertがチェック用の専用クラスで、Assert.Failとしておけば、そこを通るとエラーが発生するようになります。
OverFlowExceptiongは発生してほしいために、握りつぶしますがそれら以外の例外が出ることもまた困りますので、それらは例外の対応を行いません。
さて実行してみましょう。
失敗してしまいました。
失敗した原因は何でしょうか?デバッグしてみましょう。
普通のデバッグと同じようにブレークポイントを置いて
元のテストのデバッグ
このようにブレークします。
本体のDLLにもステップインが可能です。
checkedで、チェックするようにしていなかったのが原因のようです。
checkedでくくるようにしましょう。
無事成功しました。
<<拍手>>
いかがでしょうか。
演算系の処理であれば通常の足し算、桁あふれ、0円などのチェックは欠かせません。
これらのテストコードをこれで書くことが出来ましたし、テスト名に単体テスト番号をつけてもよいかもしれません。