ちょっと前にNAgilerの日記 さん
で、MSDNにデータ ドリブン ユニット テスト という言葉があることをを認識。
http://msdn2.microsoft.com/ja-JP/library/ms182519.aspx
MSTestではDataSourceAttributeがあるということですが、S2Unit.NETでも使用しているMbUnit では、方法はちょっと違いますが、同様のことを指向しています。
http://www.mertner.com/confluence/display/MbUnit/Home
こちらのサンプルが分かりやすいと思いますが、
http://www.mertner.com/confluence/display/MbUnit/DataFixture
http://www.mertner.com/confluence/display/MbUnit/RowTestAttribute
DataFixtureという形で、テスト用のデータを定義し、ForEachTestで繰り返し実行をするわけですね。あるいは、RowTestとして、アトリビュートしてRowを定義。
と、言いながらまだやっていはいませんm(_ _)m実践でやったら改めてご報告ということで。
NUnit用に書いたテストも基本的にはそのまま実行できるのがよいのですが、一点違いとして認識しているのは、Assert.Ignoreを例外として赤くしてしまうというところ。Ignoreアトリビュートは黄色くしてくれますけどね。
(2006/04/26追記)
using NUnit.Framework;
のままだとそうなのですが
using MbUnit.Framework;
にしてあげれば、黄色くなります。
で、昔自分もこんなことを考えたなと思って見直してみると、意外と面白い(笑)。
http://homepage2.nifty.com/konnokiyotaka/testing/index.html
でもJXUnitって、使われているのかな??
コードを触りたくない人にテストを書いてもらうためには、そのとき考えたように、メッセージもデータに持ったたほうがよいのではないかな?
また、実際今は自分でもやっていないのは、XMLって結構と面倒だから。やはりExcel読み込みかな。
分離するとメンテナンスが別個になってしまい置き去りにされやすいという問題はあるな。
などなど、またやりたいことが色々出てきてしまいました・・・。
MbUnitでデータ ドリブン ユニット テスト
- Atlas実践
- NetBeans 5.0 日本語版