質問: Collections.emptyList(); }}; assertThat(hoge.get().isEmpty()).isEqualTo(true); } public static class Hoge { public List get() { return Arrays.asList("aa"); } } ``` この警告がなぜ出てくるのかいまいち掴めない(どうやらこのケースの場合、`result =` を書かなくても良い?)のですが、Eclipse上でコンソールウィンドウが毎回表示されてJUnitの結果が隠れてしまうため、とても鬱陶しいです。 この出力を抑制することはできないでしょうか? なお、`result =` を省略する、という手段は取りたくないです。 書き忘れなのかどうか、テストコードが読み手にとって分かりにくくなってしまうので。
回答: 質問文のコードを実行してみましたが、現時点での最新バージョン(と思われる) * JUnit: 5.6.2 * JMockit: 1.49 では再現しませんでした。 * Warning: Redundant recording and confused cascading #352 - jmockit/jmockit1 というissueを見つけたので * JUnit: 4.13 * JMockit: 1.28 で試したところ、たしかにそのようなメッセージが出力されました。 従って、issueに書かれている通り、JMockit特定バージョンで発現するバグであると思われます。 対処方法は、JMockitのバージョンを上げる、ということになります。 (リリースノートからは1.29で修正されているように読めますが、試したところ、メッセージが出力されなくなっているのは1.30以降のようです...?)