类 OutputCaptureExtension
java.lang.Object
org.springframework.boot.test.system.OutputCaptureExtension
- 所有已实现的接口:
org.junit.jupiter.api.extension.AfterAllCallback,org.junit.jupiter.api.extension.AfterEachCallback,org.junit.jupiter.api.extension.BeforeAllCallback,org.junit.jupiter.api.extension.BeforeEachCallback,org.junit.jupiter.api.extension.Extension,org.junit.jupiter.api.extension.ParameterResolver,org.junit.jupiter.api.extension.TestInstantiationAwareExtension
public class OutputCaptureExtension
extends Object
implements org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.AfterAllCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.ParameterResolver
JUnit Jupiter
@Extension to capture System.out and
System.err. Can be registered for an entire test class or for an
individual test method through @ExtendWith. This extension provides
parameter resolution for a CapturedOutput
instance which can be used to assert that the correct output was written.
To use with @ExtendWith, inject the CapturedOutput as an
argument to your test class constructor, test method, or lifecycle methods:
@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");
}
}
To ensure that their output can be captured, Java Util Logging (JUL) and Log4j2 require additional configuration.
To reliably capture output from Java Util Logging, reset its configuration after each test:
@AfterEach
void reset() throws Exception {
LogManager.getLogManager().readConfiguration();
}
To reliably capture output from Log4j2, set the follow attribute of the
console appender to true:
<Appenders>
<Console name="Console" target="SYSTEM_OUT" follow="true">
...
</Console>
</Appenders>
- 从以下版本开始:
- 2.2.0
- 作者:
- Madhura Bhave, Phillip Webb, Andy Wilkinson, Sam Brannen
- 另请参阅:
-
嵌套类概要
从接口继承的嵌套类/接口 org.junit.jupiter.api.extension.TestInstantiationAwareExtension
org.junit.jupiter.api.extension.TestInstantiationAwareExtension.ExtensionContextScope -
方法概要
修饰符和类型方法说明voidafterAll(org.junit.jupiter.api.extension.ExtensionContext context) voidafterEach(org.junit.jupiter.api.extension.ExtensionContext context) voidbeforeAll(org.junit.jupiter.api.extension.ExtensionContext context) voidbeforeEach(org.junit.jupiter.api.extension.ExtensionContext context) resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) booleansupportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) 从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 org.junit.jupiter.api.extension.TestInstantiationAwareExtension
getTestInstantiationExtensionContextScope
-
方法详细资料
-
beforeAll
- 指定者:
beforeAll在接口中org.junit.jupiter.api.extension.BeforeAllCallback- 抛出:
Exception
-
afterAll
- 指定者:
afterAll在接口中org.junit.jupiter.api.extension.AfterAllCallback- 抛出:
Exception
-
beforeEach
- 指定者:
beforeEach在接口中org.junit.jupiter.api.extension.BeforeEachCallback- 抛出:
Exception
-
afterEach
- 指定者:
afterEach在接口中org.junit.jupiter.api.extension.AfterEachCallback- 抛出:
Exception
-
supportsParameter
public boolean supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) throws org.junit.jupiter.api.extension.ParameterResolutionException - 指定者:
supportsParameter在接口中org.junit.jupiter.api.extension.ParameterResolver- 抛出:
org.junit.jupiter.api.extension.ParameterResolutionException
-
resolveParameter
public Object resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext) - 指定者:
resolveParameter在接口中org.junit.jupiter.api.extension.ParameterResolver
-