S2Unit.NET のバグ?仕様?
MbUnitはやっぱり動かないので、デバックがとってもしづらい(MbUnit.Core.Cons.MainClass#Mainから実行すると、失敗した個所や例外などが表示されない)ので、いまいち分かってないのですが不可解な現象がありました。
以下、再現用のソース
hoge.dicon
HogehogeTest.cs
using System; using MbUnit.Framework; using Seasar.Extension.Unit; namespace test { [TestFixture] public class HogehogeTest : S2TestCase { private const string PATH = "〜.dicon"; private base.IFugaDao dao_; public void SetUpMethodName() { Include(PATH); } [Test, S2] public void TestMethodName() { Assert.IsNotNull(dao_); } } }
この用に記述して上記のテストを実行すると、自動的にdao_がインジェクションされてテストが成功します。
しかし、このテストクラスを以下の様に書き換えるとテストが失敗してしまいます。これはS2Unit.NETの仕様なのでしょうか?S2Unit.NETのページを良く読んでも理解できませんでした。
HogehogeTest.cs
using System; using MbUnit.Framework; using Seasar.Extension.Unit; namespace test { [TestFixture] public class HogehogeTest : S2TestCase { private const string PATH = "〜.dicon"; private base.IFugaDao dao_; [SetUp] public void SetUp() { Include(PATH); } [Test, S2] public void TestMethodName() { Assert.IsNotNull(dao_); } } }
さらに、以下の場合もダメなようです。
HogehogeTest.cs
using System; using MbUnit.Framework; using Seasar.Extension.Unit; namespace test { [TestFixture] public class HogehogeTest : S2TestCase { private const string PATH = "〜.dicon"; private base.IFugaDao dao_; [Test, S2] public void TestMethodName() { Include(PATH); Assert.IsNotNull(dao_); } } }