[seasar-dotnet:523] Re: S2Unit.NETで必要なテストコードについて

小谷圭 [E-MAIL ADDRESS DELETED]
2007年 7月 1日 (日) 20:38:34 JST


清末様

小谷です。

取り急ぎご質問の1と3について
私のわかる範囲で確認してみました。

1のご質問については新たなクラスは必要ないと思われます。
試しにSetUpTestHoge()メソッドから"Test"の文字を取り除き、
SetupHoge()に修正して実行してみるとどうなりますでしょうか。

S2Unit.NETのドキュメントに
> テストメソッド(TestXxx)に対応するSetUpXxx(),TearDownXxx()を定義しておくと、
という部分があるのですが、清末様が挙げられた例の場合であれば、
Xxx=Hogeになるかと思います。

自分が確認したのはMBUnit2.3.96とC#という環境だったため、
清末様と環境は若干異なるので「これで絶対大丈夫!」とは
言えないのですが、ご確認をお願いいたします。

3の質問につきましては、自分は逆にコンソールでMBUnitを動かしたことが
ないのですが(^^;、GUIで動かすのに特別なコードはいらないかと思います。
ただ、基本的なテストプロジェクトの追加手順が
メニュー(Assemblies) -> Add Assemblies -> (テスト用DLL)
となっており、NUnit.GUIとは多少異なります。
テストDLLの読み込みが終わりましたら「Namespaces」のようなツリーが
表示されるはずですので、そこから動かしたいテストを選択して実行すればOKです。
(こういう問題ではなかったらごめんなさい(^^;)

07/07/01 に KIYOSUE Minoru<[E-MAIL ADDRESS DELETED]> さんは書きました:
> お世話になっております、清末です。
>
> 皆様の的確なご指摘により、順調にコーディングが進み始めました。
> 色々ありがとうございます。
>
> さて、コーディングも進み単体テストを実行しようと思い、S2Unit.NETを利用し
> DAOのテストをしようSeasar.Examplesにならい、以下のテストクラスを用意
> いたしました。
>
> Imports Seasar.Extension.DataSets.Impl
> Imports Seasar.Extension.Unit
>
> Imports Logger = NtkProjectCore.common.log.Logger
>
> Imports Nttb64CarEntity = NtkProjectCore.entity.Nttb64CarEntity
> Imports Nttb64CarDao = NtkProjectCore.dao.INttb64CarDao
>
> Namespace S2UnitTest
>
>     <TestFixture()> _
>     Public Class HogeTest
>         Inherits S2TestCase
>
>         ''' <summary> デバックログオブジェクト </summary>
>         Protected Friend log As Logger
>
>         Private INttb64CarDao_ As Nttb64CarDao = Nothing
>
>         <Test(), S2(Tx.Rollback)> _
>         Public Sub TestHoge()
>
>             Dim vo As Nttb64CarEntity
>             vo = New Nttb64CarEntity
>
>             ' PrimaryKey Access
>             vo.Nt64CarMasterID = 1                        '車両マスタID
>             vo.Nt64CarNo1 = "杉並"                        '車両番号1
>             vo.Nt64CarNo2 = "550"                         '車両番号2
>             vo.Nt64CarNo3 = "へ"                          '車両番号3
>             vo.Nt64CarNo4 = "8888"                        '車両番号4
>             vo.Nt64VenderCode = "123245"                  '取引先コード
>
>             INttb64CarDao_.SelectOnce(vo)
>
>
>             'S2Assert.AreEqual(expected, emp, "1")
>
>         End Sub
>
>         Public Sub SetUpTestHoge()
>
>             ' 初期化処理を行います
>             log = Logger.GetLogger(GetType(HogeTest))
>
>             Include("dicon/S2UnitTest/HogeTest.dicon")
>
>         End Sub
>
>         Public Sub TearDownTestHoge()
>
>             ' 終了処理を書きます
>             log.Debug("テスト終了")
>
>         End Sub
>
>         Public Shared Sub Main()
>
>             Using mc As New MainClass
>                 mc.Main(New String() {"NtkTestProject.exe"})
>             End Using
>
>         End Sub
>
>     End Class
> End Namespace
>
> このコードを、MbUnitコンソールから実行しても、TestDriven.NET 2.7.2111
> Personal
> から実行しても、SetUPTestHoge()メソッドにたどり着きません。
>
> エラーは、DataSourceがNullであると言われているため、App.configで組み込んでいる
>
> app.dicon、および、IncludeしているDiconファイルを確認いたしましたが、実際動かして
> いるアプリケーションと同じ定義となっています。
>
> 1.S2Unit.NETを利用するためには、他に必要なクラスがあるのでしょうか?
>
> 2.MbUnitのバージョンを、MbUnit-2.3.105にしたところ、ビルドで
> 競合を解決して警告を消去するために、app.config でアセンブリ
> "MbUnit.Framework,
>  Culture=neutral, PublicKeyToken=5e72ecd30bc408d5" をバージョン
> "1.0.2445.37068" [] からバージョン "1.0.2531.41788" [C:\Program
> Files\MbUnit
> \MbUnit.Framework.dll] にマップし直してください。
> と警告がでますが、これは影響ありますか?
>
> 3.『S2Unit.NETでテストを楽しく簡単に』の中に説明のあった、MbUnit.GUIの使用方法が
> どうしてもわかりません。 テストコードを変更する必要はあるのでしょうか
>
>
> 毎々質問ばかりで大変恐縮ですが、よろしくお願い申し上げます。
>
>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>


seasar-dotnet メーリングリストの案内