NMockとインタフェース

先日NUnitで苦戦してしまいましたが,NMockはまったく問題なく動かすことが出来ました.昨日はNWikiを教科書代わりにいろいろ動かしてみて,いまでは大体指が覚えたかな?ってところ.とても便利ですね.


NMockでモックオブジェクトを作成するためには,本来のモックでないクラスが,とあるインタフェースを継承(実装)している必要があります.で,モックオブジェクトはそのインタフェースをもとに動的に作成することになります.
なので,とあるクラスをテストファーストで実装する場合,

  1. 作ろうとしているクラス(対象クラス)を抽象化したインタフェースを抽出
  2. インタフェースから対象クラスの外枠を作成(実装はまだ)
  3. テストクラス作成→NUnit→レッドバー
  4. 対象クラスの実装→グリーンバー

という感じになるのでしょう.ということは,TDD(Test Driven Development)は実装レベルではIDD(Interface Driven Development)なんだ,って考えてもよいような気がしてきました.そしてこの考え方(パラダイム)はそのままDIコンテナにも引き継がれるのでしょう.


いまの仕事が終わったら,次はいよいよDIコンテナかなー?やっぱりFactoryクラスを作って依存性を手作業で注入するのはめんどくさい.DIコンテナ+設定ファイルで楽したいと思います.ちなみにSeasar2の新しいのは,設定ファイルすらなくしてしまうらしい.Less ConfigurationとかConvention over Configurationとか……すごいなー.ぼーっとしてるとあっという間に取り残されてしまう(というか完全に取り残されている).まっ少しずつ差を詰めていくしかないのだけれど.