皆さん、単体テストしてますか?
C#やVBなどの.NET Fromeworkのアプリケーションでは、NUnitやMSTestなどが有名ですが、dotTESTにも「単体テストGenie」という機能があります。
dotTEST の Genie を利用すると。。。
NUnit や MStest のようにコードを書く必要がなく、テストケースを作成することができます!
では、今回は、dotTEST の単体テストGenieについてご紹介します。
※Genie とは、アラジンのランプの魔人のことです。
C#やVBなどの.NET Fromeworkのアプリケーションでは、NUnitやMSTestなどが有名ですが、dotTESTにも「単体テストGenie」という機能があります。
dotTEST の Genie を利用すると。。。
NUnit や MStest のようにコードを書く必要がなく、テストケースを作成することができます!
では、今回は、dotTEST の単体テストGenieについてご紹介します。
※Genie とは、アラジンのランプの魔人のことです。
■ 単体テストGenie
テストケースの作成には、2つの専用のビューを使用します。
単体テストGenieビュー |
ビルダー |
[単体テストGenie]ビューで、テストしたいメソッドを選択し、テストケースの入力値や期待値を[ビルダー]画面で入力していきます。
■ テストケースの作成
今回は、映画料金を計算する Chargeメソッドを例にご紹介します。
Chargeメソッドでは、入力値に「年齢」や「大学生かどうか?」など複数の引数を指定し、その結果、映画料金を返します。
【映画料金表】
Chargeメソッドでは、入力値に「年齢」や「大学生かどうか?」など複数の引数を指定し、その結果、映画料金を返します。
一般 | 1,800 円 |
大学生 | 1,500 円 |
高校生 | 1,000 円 |
小人(3歳から中学生) | 1,000円 |
シニア(60歳以上) | 1,000円 |
障害者手帳をお持ちの方 | 1,000円 |
ビルダー画面は、複数のタブで構成されています。入力値(今回は、メソッドの引数)は、[入力]タブ、期待値(今回は、映画料金)は、[アサーション]タブで設定します。
テストケースを作成するときは、同じ料金になるように、入力値を考えます。今回は年齢に着目して、60歳以上のシニア料金のパターンを考えてみましょう。
入力値を任意の値で設定するために、「ユーザー定義値の使用」にチェックを入れ、(60,65,70,75)と60歳以上の年齢入力します。
※改行を入れると複数データを入力できます。
Genieは、入力値のすべての値を組み合わせて、テストケースを作成します。今回は、年齢の4パターンと性別の2パターンを組み合わせて、8パターンとなります。
次は、期待値を入力します。
シニアの場合は、一律1000円になります。種類を「アサート」に変更し、期待値に「1000」と入れて、生成ボタンをクリックするとテストケースが生成されます。
dotTESTは、NUnit形式のテストケースを作成してくれます。メソッド実行後の期待値をチェックするために、AreEqualメソッドを使用してます。もし映画料金が期待値と一致しない場合は、すぐに確認することができます。
■ テストの実行
では、作成したテストケースを実行してみましょう。
単体テストを実行するには、 ビルトインの[Run Tests and Check Assertions]をメニューから選択します。このテストコンフィギュレーションでは、単体テストの実行と、一緒にカバレッジも測定することができます。
単体テストを実行するには、 ビルトインの[Run Tests and Check Assertions]をメニューから選択します。このテストコンフィギュレーションでは、単体テストの実行と、一緒にカバレッジも測定することができます。
■ まとめ
Genieを使うと、GUIで操作しながらテストケースを作成することができます。面倒なコードを書く必要がありません。また、テストケース内で、期待値と結果を判定しているので、結果をひと目で確認もできます。単体テストをやっていない人、まずはGenieを使って単体テストをはじめてみませんか?
テストケースを1つ1つ、Genieで作るのは、ちょっと大変じゃない?という人には、Genieで作ったテストケースを修正することで、Excelなどの外部ファイルに入力値や期待値のテストデータを定義して、テストを行うことも可能です。
テストケースを1つ1つ、Genieで作るのは、ちょっと大変じゃない?という人には、Genieで作ったテストケースを修正することで、Excelなどの外部ファイルに入力値や期待値のテストデータを定義して、テストを行うことも可能です。
Excelを利用したテストケースの方法について弊社で作成した資料がありますので、気になる方は、Parasoft製品カスタマーセンターまでお問合せください。
Genieを使って単体テストをやってみたいという人は、dotTEST の体験版をご用意していますので、 Parasoft dotTEST 製品ページ をご確認ください。