クラス OutputCaptureExtension
java.lang.ObjectSE
org.springframework.boot.test.system.OutputCaptureExtension
- 実装済みのインターフェース一覧:
AfterAllCallback, AfterEachCallback, BeforeAllCallback, BeforeEachCallback, Extension, ParameterResolver, TestInstantiationAwareExtension
public class OutputCaptureExtension
extends ObjectSE
implements BeforeAllCallback, AfterAllCallback, BeforeEachCallback, AfterEachCallback, ParameterResolver
JUnit Jupiter
@Extension は、System.outSE および System.errSE をキャプチャーします。テストクラス全体、または @ExtendWith を介して個々のテストメソッドに登録できます。この拡張機能は、正しい出力が書き込まれたことをアサートするために使用できる CapturedOutput インスタンスのパラメーター解決機能を提供します。@ExtendWith と併用するには、CapturedOutput をテストクラスのコンストラクター、テストメソッド、ライフサイクルメソッドの引数として注入します。
@ExtendWith(OutputCaptureExtension.class)
class MyTest {
@Test
void test(CapturedOutput output) {
System.out.println("ok");
assertThat(output).contains("ok");
System.err.println("error");
}
@AfterEach
void after(CapturedOutput output) {
assertThat(output.getOut()).contains("ok");
assertThat(output.getErr()).contains("error");
}
}
出力を確実にキャプチャーできるようにするには、Java Util Logging (JUL) と Log4j2 に追加の構成が必要です。
Java Util Logging からの出力を確実にキャプチャーするには、各テストの後に構成をリセットします。
@AfterEach
void reset() throws Exception {
LogManager.getLogManager().readConfiguration();
}
Log4j2 からの出力を確実にキャプチャーするには、コンソールアペンダーの follow 属性を true に設定します。
<Appenders>
<Console name="Console" target="SYSTEM_OUT" follow="true">
...
</Console>
</Appenders>
- 導入:
- 2.2.0
- 作成者:
- Madhura Bhave, Phillip Webb, Andy Wilkinson, Sam Brannen
- 関連事項:
ネストされたクラスの概要
インターフェース TestInstantiationAwareExtension から継承されたネストクラス / インターフェース
TestInstantiationAwareExtension.ExtensionContextScope方法の概要
修飾子と型メソッド説明voidafterAll(ExtensionContext context) voidafterEach(ExtensionContext context) voidbeforeAll(ExtensionContext context) voidbeforeEach(ExtensionContext context) resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) booleansupportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) クラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース TestInstantiationAwareExtension から継承されたメソッド
getTestInstantiationExtensionContextScope
方法の詳細
beforeAll
- 次で指定:
- インターフェース
BeforeAllCallback内のbeforeAll - 例外:
ExceptionSE
afterAll
- 次で指定:
- インターフェース
AfterAllCallback内のafterAll - 例外:
ExceptionSE
beforeEach
- 次で指定:
- インターフェース
BeforeEachCallback内のbeforeEach - 例外:
ExceptionSE
afterEach
- 次で指定:
- インターフェース
AfterEachCallback内のafterEach - 例外:
ExceptionSE
supportsParameter
public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException - 次で指定:
- インターフェース
ParameterResolver内のsupportsParameter - 例外:
ParameterResolutionException
resolveParameter
public ObjectSE resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) - 次で指定:
- インターフェース
ParameterResolver内のresolveParameter