コンパイラは構文をチェックする。テストはアーキテクチャをチェックすべきだ。
多くのチームはアーキテクチャルールをWikiに記載している。依存グラフが逸脱した時にCIを失敗させる実行可能なテストとして書く方法を紹介する。
テストスイートは、が正しい入力を与えられたときに42を返すことを検証する。しかし、がをimportしてよいかどうかは検証しない。コンパイラはどちらも問題ない。ユニットテストもどちらも問題ない。だが、一方はアーキテクチャ違反であり、6か月後に1週間のリファクタリングを強いることになる。…