
「使って覚える Visual Studio 2008」では、さまざまな課題に対して Visual Studio 2008 が提供している機能やソリューションを、ステップ バイ ステップで紹介いたします。ステップに沿って Visual Studio 2008 の機能を使ってみることで、開発の現場ですぐに活用できる実践的な知識を身につけていただけます。
第1回単体テストをやってみよう
Step 1
Visual Studio から新しいクラスライブラリ プロジェクトを作成します。メニューバー [ファイル] - [新規作成] - [プロジェクト] をクリックします。[新しいプロジェクト] ダイアログが表示されるので、[テンプレート] に [クラス ライブラリ] を選択、[プロジェクト名] に 「四則演算」 を入力して、[OK] ボタンをクリックします。
図 1. [新しいプロジェクト] ダイアログからクラス ライブラリ プロジェクトを作成
Step 2
プロジェクト作成時に作られた Class1 に足し算のメソッドを実装します。以下のコードを記述します。

- public int 足し算(int x, int y)
{
return x + y;
}

- Public Function 足し算(ByVal x As Integer, ByVal y As Integer) As Integer
Return x + y
End Function
Step 3
足し算というメソッドに単体テストを追加するには、足し算メソッドの上で右クリックして、[単体テストの作成] をクリックします。
図 2. 右クリック メニューから [単体テストの作成] をクリック
Step 4
[単体テストの作成] ダイアログが表示されるので、[足し算] メソッドにチェックがついていることを確認して、[OK] ボタンをクリックします。単体テスト プロジェクトの開発言語を変更したい場合は、[出力プロジェクト] に表示されている言語を変更します。
図 3. [単体テストの作成] でテスト作成対象のメソッドを選択
Step 5
[新しいテスト プロジェクト] ダイアログが表示されるので、プロジェクト名を指定して [作成] ボタンをクリックします。ここでは、「四則演算.Test」という名前を指定します。
図 4. テスト プロジェクトの名前を入力
Step 6
テスト プロジェクトが作成されて、足し算メソッドに対する以下のようなテスト コードが作成されます。

- /// <summary>
///足し算 のテスト
///</summary>
[TestMethod()]
public void 足し算Test()
{
Class1 target = new Class1 (); // TODO: 適切な値に初期化してください
int x = 0; // TODO: 適切な値に初期化してください
int y = 0; // TODO: 適切な値に初期化してください
int expected = 0; // TODO: 適切な値に初期化してください
int actual;
actual = target.足し算(x, y);
Assert.AreEqual(expected, actual);
Assert.Inconclusive("このテストメソッドの正確性を確認します。");
}

- '''<summary>
'''足し算 のテスト
'''</summary>
<TestMethod()> _
Public Sub 足し算Test()
Dim target As Class1 = New Class1 ' TODO: 適切な値に初期化してください
Dim x As Integer = 0 ' TODO: 適切な値に初期化してください
Dim y As Integer = 0 ' TODO: 適切な値に初期化してください
Dim expected As Integer = 0 ' TODO: 適切な値に初期化してください
Dim actual As Integer
actual = target.足し算(x, y)
Assert.AreEqual(expected, actual)
Assert.Inconclusive("このテストメソッドの正確性を確認します。")
End Sub
Step 7
単体テストの実装を行います。テスト コードを完成させるために、コメントに TODO と書かれている部分を変更していきます。
最初の行に記述されているのは、テスト対象クラスをインスタンス化している部分ですが、クラスの初期化を行う必要がある場合は、ここでパラメーターを渡すように変更します。
次に、メソッドのパラメーターである変数 x と y を初期化します。また、次の行にある expected は、パラメーターを渡してメソッドを呼び出したときの期待する結果になります。ここでは、x に3、y に 7 を渡して、足し算の結果である expected には、10 をセットすることにしましょう。

- Class1 target = new Class1 ();
int x = 3;
int y = 7;
int expected = 10;

- Dim target As Class1 = New Class1
Dim x As Integer = 3
Dim y As Integer = 7
Dim expected As Integer = 10
その次の行に書かれている actual は、実際にメソッドを実行した結果がセットされる変数になります。テスト コードの中で足し算メソッドの呼び出し結果として値を受け取っていることが確認できると思います。
足し算メソッドの呼び出しの次に書かれている Assert.AreEqual が、期待した結果 expected と実際の結果 actual を比較している部分です。テスト コードの記述が終わったら、最後の行に書かれている Assert.Inconclusive の行を削除します。この行は、テスト コードの実装が完了していないことを宣言しているもので、削除を行わないとテストの実行がエラーになってしまいます。
Step 8
それでは、作成したテスト コードを実際に動かしてみましょう。単体テストの実行は、[テスト ツール] ツールバーのボタンをクリックするか、メニュー バーの [テスト] - [実行] (またはデバッグ) をクリックします。
図 5. [テスト ツール]ツールバー、または [テスト] メニューからテストの実行
テストを実行すると [テスト結果] ウィンドウが表示されて、テストの実施結果が表示されます。
図 6. テストの実施結果が表示される
Next Step
今回は、単体テストの作成から実行までを紹介しました。単体テストが Visual Studio と統合されていて、簡単に作成できることをご理解いただけたのではないのではないでしょうか。次回からはより実用的な単体テストについて解説していきたいと思います。
▲ Top of Page

»
»
|