Visual Studio 2005 単体Test機能を試してみる。
この文書はVisual Studio 2005 RC(.NET2.0)をベースに記述されています。
Visual Studio 2005には念願のUnit Test機能が盛り込まれます。
組み込まれるエディションはTeam Edition for Developer, Team Edition for TestersそしてTeam Suiteです。
詳細は以下のページをご覧ください。
http://www.microsoft.com/japan/msdn/howtobuy/vs2005/editions/team/compare/
まずはテスト対象となるDLLを作成してみます。
using System; using System.Collections.Generic; using System.Text; namespace ClassLibrary1 { public class Class1 { public int 引き算(int x, int y) { return x - y; } } }
ファイル→追加→新しいプロジェクト
Testプロジェクトを追加します。
テストプロジェクトの上で右クリック→追加→新しい項目
Unit Test Wizardを選択します。
どのクラスのどのメソッドのテストを作成するか、どのプロジェクトに作成するかを指定します。
テスト用プロジェクトに出力します。
テストの雛形が自動生成されます。
///<summary> ///A test for 引き算 (int, int) ///</summary> [TestMethod()] public void 引き算Test() { Class1 target = new Class1(); int x = 0; // TODO: Initialize to an appropriate value int y = 0; // TODO: Initialize to an appropriate value int expected = 0; int actual; actual = target.引き算(x, y); Assert.AreEqual(expected, actual, "ClassLibrary1.Class1.引き算 did not return the expected value."); Assert.Inconclusive("Verify the correctness of this test method."); }
このようにテストが自動作成されます。
今回の場合には引き算にx=0とy=0を与えているので、actualには0が帰ってきますので、最終的にAssert.AreEqualで、0と0が比較されてOKになりますので、そのままテストを実行したいと思います。
Assert.Inconclusiveは、ここまでくるとテストが不明で終わってしまうので、コメントアウトしておきましょう。
ではテストを実行するためにテストリストを作成します。
Test → Create New Test List...でテストを作成します。
Test Viewに引き算Testが追加されます。
左上のアイコンが単体テストの1つを実行するアイコンになります。
今回はRun Selectionで1つ実行してみましょう。
このようにTest Resultsに結果が出ます。今回は無事Passedになりました。
Testに関連する情報は今後どんどん提供していきますね。