ArchUnitって何モノ?

はじめに

 内輪でArchUnitに対する関心が高まっているのですが、これが何ものなのかちょっとわかりにくいので、自分のためにもメモ。

何モノなのか

アーキテクチャをテストするモノ」です*1
ここでいうアーキテクチャは、パッケージ間やクラス間の依存関係を主に指しています。

4. What to CheckUML*2で記載されているテスト内容が、主に想定しているターゲットです。
このようなものについて、リフレクションAPIを使ってテストするよりも短い記述でテストできます。

主に想定しているターゲット以外も、リフレクションでチェック出来るものであればテスト可能です。
ただし、主なターゲットをテストする時ほどテストコードは短くならないかもしれません。

*1:Why test your architecture? - ArchUnitに「Why test your architecture?」という見出しがあるので、察しがつきます

*2:コード例もみると混乱するので、まずはUMLのみ見ることをお勧めします