原创

Maven テスト出力に System.out.println() を表示しようとしています

温馨提示:
本文最后更新于 2024年04月12日,已超过 37 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

Java 8 から 11 へのアップグレード中に JUnit テストの一部がハングする理由を理解しようとしています。 テストクラス内で System.out.println() を使用すると、予想される機能し、使用時に out がMaven の出力ストリームに構成されます。

ここでテストがハングします。

@Before
public void setUp() throws Exception {
  System.out.println("Before");
  wmsDimensionCalculator = new WMSDimensionCalculator(capabilitiesManager);
  when(capabilitiesManager.getDimensionMap()).thenReturn(createDimensionMap());
  System.out.println("Between whens");
  when(capabilitiesManager.getCombinedCapabilities()).thenReturn(WmsCapabilitiesConverter.unmarshal(MOCK_CAPABILITIES_XML));
  System.out.println("End of before");
}

Before と Between Whens は出力されますが、End of beforeには到着しません。です。

@Override
public WMSCapabilites getCombinedCapabilities() {
  System.out.println("WMS Capabilities");
  <lots of unnecessary code to the question> 
}

基本的に、このシステム出力は私が見つけたどこにも印刷されません。 Maven の出力には反映せず、確実なレポートにも反映されません。

-可能であればここにポンを置きます-

-Dsurefire.useFile=False

ただし、呼び出される実際のクラスメソッド内で無限ループまたは何かが発生し、どこで、そしてなぜであるかを理解するためにSOutを使用する必要がある場所を理解しようとしているようです。対象の実際の Java クラスに SOut を構成しても、Maven の出力には構成されません。これをどのように機能させるか、あるいはそれが可能なのかどうかは正確にはわかりません。

情報をダンプするためにクラスメソッドに System.out.println() メソッドを配置しようとしますが、何も表示されません。

正文到此结束
热门推荐
本文目录