VBだけじゃなくビジュアルスタジオで「.Net」開発する時に使う
・環境
[VisualStudio]
使用バージョン:2005 Standard Edition
[Nunit]
使用バージョン:NUnit-2.5.4.10098
ダウンロードサイト:http://www.nunit.org/download.html
現時点で、最新バージョンは「NUnit-2.5.9.10348」だが、なぜ2.5.4を落としたのかは忘れた。
問題なく動いているのでヨシ!
・インストール手順
ダウンロード後、インストールの実行。以上。
・設定方法
1、ビジュアルスタジオを起動
2、何かプロジェクトを作成(既存のプロジェクトでも可)
3、メニューバーの「プロジェクト」 → 「参照の追加」を選択
4、.NETタブの中を検索し”Nunit.framework”を選択
-----------------
NUnitの使用例
・作成手順
1、本番で使用するWindowsアプリケーションプロジェクトとして用意
2、テスト用にクラスライブラリプロジェクトを用意
3、二つのプロジェクトを1つのソリューションに統合する
a)ソリューションエクスプローラーのソリューション名で右クリック
b)既存のプロジェクトを追加(プロジェクト名ではなくexeを直接指定する事)
1、本番で使用するWindowsアプリケーションプロジェクトとして用意
2、テスト用にクラスライブラリプロジェクトを用意
3、二つのプロジェクトを1つのソリューションに統合する
a)ソリューションエクスプローラーのソリューション名で右クリック
b)既存のプロジェクトを追加(プロジェクト名ではなくexeを直接指定する事)
4、クラスライブラリにテストコードを記述していく
・注意点
Publicのメソッドに対してテストするのが一般的だと思われ
Privateのメソッドに対してもテストできるが記述が少し面倒になるし、よくわからん
Publicのメソッドに対してテストするのが一般的だと思われ
Privateのメソッドに対してもテストできるが記述が少し面倒になるし、よくわからん
・前提条件
アプリの名称:Client_App
ファイル名:Client_App.vb
アプリの名称:Client_App
ファイル名:Client_App.vb
フォームには何のパーツも追加しない
・ソリューション構成
・ソースコード
テストコードのメソッド名は日本語で書いたほうが分かりやすい。
メソッド名の一覧が仕様書になる。
「Client_App.vb」
Public Class Client_App
Public Class Client_App
Private Sub Client_App_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim recorder As MaxDataSizeRecorder = New MaxDataSizeRecorder()
Dim aaa As String
aaa = ""
End Sub
Dim recorder As MaxDataSizeRecorder = New MaxDataSizeRecorder()
Dim aaa As String
aaa = ""
End Sub
End Class
「MaxDataSizeRecorder.vb」
Public Class MaxDataSizeRecorder
Public Class MaxDataSizeRecorder
Public Name As String = "NoName"
Public Point As Integer = 0
Public Point As Integer = 0
Public Sub SetPoint(ByVal _name As String, ByVal _point As Integer)
If Me.Point >= _point Then
Exit Sub
End If
If Me.Point >= _point Then
Exit Sub
End If
Me.Name = _name
Me.Point = _point
End Sub
Me.Point = _point
End Sub
Public Function IsHighest(ByVal _point As Integer) As Boolean
Return Me.Point < _point
End Function
Return Me.Point < _point
End Function
End Class
「MaxDataSizeRecorderTest.vb」
Imports NUnit.Framework
Imports Client_App
Imports NUnit.Framework
Imports Client_App
<TestFixture()> _
Public Class 積算入力画面テスト
Public Class 積算入力画面テスト
<Test()> _
Public Sub コンストラクタ()
Dim recorder As MaxDataSizeRecorder = New MaxDataSizeRecorder()
Assert.AreEqual("NoName", recorder.Name, "recorder.Name")
Assert.AreEqual(0, recorder.Point, "recorder.Point")
End Sub
Public Sub コンストラクタ()
Dim recorder As MaxDataSizeRecorder = New MaxDataSizeRecorder()
Assert.AreEqual("NoName", recorder.Name, "recorder.Name")
Assert.AreEqual(0, recorder.Point, "recorder.Point")
End Sub
<Test()> _
Public Sub ポイントの設定()
Dim recorder As MaxDataSizeRecorder = New MaxDataSizeRecorder()
recorder.SetPoint("Taro", 1234)
Assert.AreEqual("Taro", recorder.Name, "recorder.Name" & " = Taroになってないよ?")
Assert.AreEqual(1234, recorder.Point, "recorder.Point")
Public Sub ポイントの設定()
Dim recorder As MaxDataSizeRecorder = New MaxDataSizeRecorder()
recorder.SetPoint("Taro", 1234)
Assert.AreEqual("Taro", recorder.Name, "recorder.Name" & " = Taroになってないよ?")
Assert.AreEqual(1234, recorder.Point, "recorder.Point")
recorder.SetPoint("Jiro", 1233)
Assert.AreEqual("Taro", recorder.Name, "recorder.Name")
Assert.AreEqual(1234, recorder.Point, "recorder.Point")
Assert.AreEqual("Taro", recorder.Name, "recorder.Name")
Assert.AreEqual(1234, recorder.Point, "recorder.Point")
recorder.SetPoint("Saburo", 1235)
Assert.AreEqual("Saburo", recorder.Name, "recorder.Name")
Assert.AreEqual(1235, recorder.Point, "recorder.Point")
End Sub
Assert.AreEqual("Saburo", recorder.Name, "recorder.Name")
Assert.AreEqual(1235, recorder.Point, "recorder.Point")
End Sub
<Test()> _
Public Sub 最大値比較テスト()
Dim recorder As MaxDataSizeRecorder = New MaxDataSizeRecorder()
recorder.SetPoint("Taro", 1234)
Assert.AreEqual(True, recorder.IsHighest(1235), "recorder.IsHighest(1235)")
Assert.AreEqual(True, Not recorder.IsHighest(1234), "!recorder.IsHighest(1234)")
Assert.AreEqual(True, Not recorder.IsHighest(1233), "!recorder.IsHighest(1233)")
End Sub
Public Sub 最大値比較テスト()
Dim recorder As MaxDataSizeRecorder = New MaxDataSizeRecorder()
recorder.SetPoint("Taro", 1234)
Assert.AreEqual(True, recorder.IsHighest(1235), "recorder.IsHighest(1235)")
Assert.AreEqual(True, Not recorder.IsHighest(1234), "!recorder.IsHighest(1234)")
Assert.AreEqual(True, Not recorder.IsHighest(1233), "!recorder.IsHighest(1233)")
End Sub
End Class
・参考URL
http://www.atmarkit.co.jp/fdotnet/special/uiautomation/uiautomation_01.html
http://architect360.apricot-jp.com/500tips/nunit.html
http://www.atmarkit.co.jp/fdotnet/tools/nunit2/nunit2_01.html
↓クリックで、このブログの評価が上がり執筆者が喜びます
にほんブログ村
0 件のコメント:
コメントを投稿