これは別の質問について少し話し合うきっかけになったようで、私はそれ自身の質問にスピンする価値があると思いました。
DRYの原則は、メンテナンスの問題と戦うための私たちの選択の武器のようですが、テストコードのメンテナンスについてはどうでしょうか。同じ経験則が適用されますか?
開発者テストコミュニティのいくつかの強い声は、セットアップと分解は有害であり、避けるべきであるという意見です...いくつか例を挙げると:
- ジェームス・ニューカーク
- ジェイフィールズ、[ 2 ]
実際、xUnit.netは、まさにこの理由でフレームワークからそれらを完全に削除しました(ただし、この自主的な制限を回避する方法はあります)。
あなたの経験は何ですか?セットアップ/ティアダウンは、保守性のテストに悪影響を及ぼしますか、それとも役立ちますか?
更新:JUnit4やTestNG(@ BeforeClass、@ BeforeGroupsなど)で利用できるようなよりきめ細かい構造が違いを生むでしょうか?