[seasar-dotnet:1490] Re: Quill+S2Unit.NETでのテスト

rmiya [E-MAIL ADDRESS DELETED]
2009年 9月 25日 (金) 18:30:50 JST


宮城です。

TestDriven.NET 2.12 + MbUnit 2.4.2 の環境だと
> オブジェクト参照がオブジェクト インスタンスに設定されていません。
のエラーが出ることを確認しました。

このエラーを解決するためには、次の2つの方法があります。

■1.MbUnit 2.3をインストールする
http://mb-unit.googlecode.com/files/MbUnit-2.3.105.exe
の直リンクからダウンロードできます。
MbUnit 2.3系のファイル名は、MbUnit-2.3.xxx.exe
MbUnit 2.4系のファイル名は、MbUnit-2.4.x.xxxx-Setup.exe
と微妙にファイル名が違うのでダウンロードしにくいです。

■2.MbUnit 2.4で動かす場合
・S2FormExample.Tests/App.configに次の行を追加します。
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="bin"/>
      <dependentAssembly>
        <assemblyIdentity name="MbUnit.Framework"
publicKeyToken="5e72ecd30bc408d5" culture="neutral" />
        <bindingRedirect oldVersion="1.0.0.0-2.999.999.999"
newVersion="2.4.2.355"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

※MbUnit 2.3系の時と違うのは、
 <bindingRedirect oldVersion="1.0.0.0-2.999.999.999" newVersion="2.4.2.355"/>
 の部分です。確か、oldVersionの範囲指定の部分で、アセンブリが互換性を持つバージョンの範囲を
 指定していたかと思います。

・C:\Program Files\MbUnit\bin\MbUnit.Framework.dll から
 s2formsample-1.3.9.zip/sample/lib/MbUnit.Framework.dll
 に上書きコピーします。

・S2FormExample ソリューションをリビルドします。

・"Run Test(s)" します。

以上

とりあえず、上記の2方法のどちらかでうまくいくと思います。

今後の対応としては、
MbUnit 2.3は入手が難しい(MbUnitのWebサイトのリンクからダウンロードできない)ので
S2Container.NET関連に同梱しているMbUnit 2.4にバージョンアップする。
を検討しています。

あと今日、MbUnitのWebサイトにMbUnit 3.0があるのに気付いたのですが、
要望があればMbUnit 3.0への対応を検討したいと思います。


2009/9/25 Takafumi Yoshida <[E-MAIL ADDRESS DELETED]>:
> いつもお世話になります。吉田@オプティクスです。
>
> 宮城さん、久保さん、ありがとうございます。
>
> ひとまず、TestDriven.NET 2.12 + MbUnit 2.4.2(これ2.3がどこにもないようですね・・orz)
> の環境で
> ** NO TESTS WERE RUN (No tests found) **
> は発生せずテストを実行できました。
>
> ただ、テスト対象にDaoやServiceがDIされていないようで
> オブジェクト参照がオブジェクト インスタンスに設定されていません。
> のエラーになってしまいます・・・
>
>>(おおざっぱにはQuillInjector.GetInstance().Inject(this);を変わりに
>> 実行してくれるという認識でも間違いはないかと)
>
> ということから、QuillTestCaseを継承すれば、テストに
> protected IHogeDao dao;
> といった宣言があれば、これにDIされるはずだとおもったのですが・・・
>
> ほかに設定などが必要なのでしょうか?
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>


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