Class ConsoleExtension

  • All Implemented Interfaces:
    org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.Extension, org.junit.jupiter.api.extension.ParameterResolver, org.junit.jupiter.api.extension.TestWatcher

    public class ConsoleExtension
    extends ConsoleManager
    implements org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.TestWatcher, org.junit.jupiter.api.extension.ParameterResolver
    Extension for adding a fully virtual TTY and I/O for testing. This will forcefully replace standard in, out and err while the test is running, falling back to default (system streams) when completed. This means any test that uses normal system I/O to print ongoing status will not work with this extension.
    
     {@literal@}ExtendWith(ConsoleExtension.class)
     public class MyTest {
         {@literal@}Test
         public void testMyThing(Console console) {
             // use the console I/O or TTY or both.
         }
     }
     
    • Constructor Detail

      • ConsoleExtension

        public ConsoleExtension()
    • Method Detail

      • beforeEach

        public void beforeEach​(org.junit.jupiter.api.extension.ExtensionContext context)
        Specified by:
        beforeEach in interface org.junit.jupiter.api.extension.BeforeEachCallback
      • testFailed

        public void testFailed​(org.junit.jupiter.api.extension.ExtensionContext context,
                               Throwable cause)
        Specified by:
        testFailed in interface org.junit.jupiter.api.extension.TestWatcher
      • afterEach

        public void afterEach​(org.junit.jupiter.api.extension.ExtensionContext context)
        Specified by:
        afterEach in interface org.junit.jupiter.api.extension.AfterEachCallback
      • 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
        Specified by:
        supportsParameter in interface org.junit.jupiter.api.extension.ParameterResolver
        Throws:
        org.junit.jupiter.api.extension.ParameterResolutionException
      • resolveParameter

        public Object resolveParameter​(org.junit.jupiter.api.extension.ParameterContext parameterContext,
                                       org.junit.jupiter.api.extension.ExtensionContext extensionContext)
                                throws org.junit.jupiter.api.extension.ParameterResolutionException
        Specified by:
        resolveParameter in interface org.junit.jupiter.api.extension.ParameterResolver
        Throws:
        org.junit.jupiter.api.extension.ParameterResolutionException