昨日, メッセージの表示頻度を簡単に調整できるライブラリdenbunをリリースしました. 初めてのライブラリリリースなので色々と学びがありました. 本稿ではVisibleForTestingとRestrictToアノテーションについて書き留めます. VisibleForTesting RestrictTo VisibleForTesting フィールドやメソッドのスコープはできるだけ狭くすることが大切ですが, テスタビリティを確保するためにやむなくスコープを広くとる場合があります. VisibleForTestingは, スコープをテスタビリティのために広く定義していることを明示します. 例えば, Denbunライブラリでは情報の永続化先であるSharedPreferenceとのI/Oをフックできるようにしてテスタビリティを確保しています. @VisibleForTesting(other