JUnitのテストケースでは、@Rule
によって注釈が付けられたフィールドは公開されている必要があります。これは一般的なJavaコーディング規約を破棄します(すべてのクラスメンバー変数は公開しないでください)。なぜJUnitはこれを必要としますか? @Rule
ためJUnitの@Rule注釈付きフィールドが公開される必要があるのはなぜですか?
ドキュメント:https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/Rule.java
+1 @Ruleでメソッドに注釈を付けることもできます。これにより、問題を回避できます。これをあなたの答えに加えるべきです。 –
Matthewに感謝、私はそれを知らなかった。明らかに4.11の新機能。 –
@KErlandsson - それについてあなたは完全に確かですか?これは、JUnit APIのドキュメントでは、「フィールドは静的ではなくパブリックで、TestRule(推奨)またはMethodRuleのサブタイプでなければなりません」 – dziki