ReShaperとMbUnitで填まる。

 Seasar.NETを使用して開発しているので、ReShaperとMbUnitを使用しています。DBにデータを挿入するメソッドのテストを書いて、そのメソッド指定(ReShaperから)して実行すると挿入が行えていることが確認できました。はい一件落着と思いましたが・・・テーブルに登録されているデータを見ると「?」な感じがしました。登録したデータは削除はしていないので、テストする度に登録件数が増えて行くはずなのに、常に最後の挿入データしかないのです。テストプログラムを使用せず、SQL直で挿入したデータは消えない。あれあれ、ドツボの予感。ログ見ても、挿入するためのログだけ。しょうがないので、Unitテスト自体のデバックをはじめました。最初はテストが終了した段階でDBを覗いたら、やっぱ前に登録したデータは消えてる。次は挿入処理が完了した段階でDBを覗いた。同じく消えている。じゃぁ登録処理前で止めて覗いてみると、データが消えていました。テスト対象のメッソドには削除処理は一切書いてなのになぜか消える。ついでにテストメソッドの入り口で止めて、DBを覗くと消えてる!テスト対象のメッソドが悪さをしてるのではなく、Unitテストが悪さしてるようでした。テストソースを確認してみると、挿入テストの前に削除テストのメッソドがありました。とりあえず削除がらみですから、コメントアウトして挿入テストを実施したらデータは消えませんでした。と、いうことは削除テストが動いてることがわかりました。再度確認の為、削除テストにブレークポイントを設定して、挿入テストをデバック開始したら、削除テストのブレークポイントで止まりました。ということは、メソッド指定のUnitテストしても、別のメッソドも動いているということになります。但し表面上は指定したメソッドだけが動いてるような振る舞い(コンソール出力)をしてたわけです。いやぁ填まった。もちろん、テストメソッドが別のテストメソッドに影響を与えるような書き方をしている私も悪いですけどね。でも、このような動きをするのは、どのツールの問題だかわかりませんでした。ReshaperかMbUnitかReshaperとMbUnitをつなぐプラグインかVS2008かは解りません。とりあえず一件落着。

 ところで、log4netの出力が重複出力されるってどこの問題?

やはり文章が汚いよなぁorz